Ускорение загрузки

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
badblack2z
Сообщения: 95
ОС: MOPSLinux 4.0

Ускорение загрузки

Сообщение badblack2z »

Был VectorLinux и он грузился быстрее раза в 2-3 Mops'a. Как можно быстрее заставить работать Mops'a?
Спасибо сказали:
Аватара пользователя
KDA
Сообщения: 95
ОС: MOPSLinux

Re: Ускорение загрузки

Сообщение KDA »

Определить, какие модули ядра нужны для работы системы. Прописать их запуск в /etc/rc.d/rc.modules. Отключить сервис rc.hotplug. Это самое узкое место загрузки.
Других способов не знаю.
Не кидайте камни в чужой огород - могут прилететь обратно! ©
Спасибо сказали:
Аватара пользователя
pzp-5
Сообщения: 558
Статус: Главный модератор "Пингвинария" на Лафоксе.

Re: Ускорение загрузки

Сообщение pzp-5 »

1) Убрать аттрибут "исполняемый" в файле /etc/rc.d/rc.hotplug
2) Закомментить в файле /etc/rc.d/rc.M строки:

Код: Выделить всё

## Update all the shared library links:
#if [ -x /sbin/ldconfig ]; then
#  echo "Updating shared library links:  /sbin/ldconfig"
#  /sbin/ldconfig
#fi

После этого не забываем (после добавления в систему новых библиотек) вручную запускать ldconfig .
p.s.Время загрузки сократится примерно вдвое.
Угадайте: где на фотографии, которая представляет мой аватавр, спрятана птичка?
Спасибо сказали:
Аватара пользователя
mark
Бывший модератор
Сообщения: 2055
Статус: ...
ОС: Windows 7

Re: Ускорение загрузки

Сообщение mark »

Попробуй прикрути initng.
Спасибо сказали:
Аватара пользователя
cheer
Сообщения: 729
Статус: Самовлюблённый сноб
ОС: archlinux i686-current

Re: Ускорение загрузки

Сообщение cheer »

rc.hotplug может оказаться необходим, я не знаю, как обходиться без него при USB мыши. Поэтому я запускаю его при старте в отдельном потоке: в строке запуска скрипта (rc.M) надо поставить & после rc.hotplug:

Код: Выделить всё

echo "Activating hardware detection: /etc/rc.d/rc.hotplug start"
. /etc/rc.d/rc.hotplug start &
Спасибо сказали:
Аватара пользователя
BigKAA
Сообщения: 292

Re: Ускорение загрузки

Сообщение BigKAA »

cheer писал(а):
03.04.2006 22:08
rc.hotplug может оказаться необходим, я не знаю, как обходиться без него при USB мыши. Поэтому я запускаю его при старте в отдельном потоке: в строке запуска скрипта (rc.M) надо поставить & после rc.hotplug:

Код: Выделить всё

echo "Activating hardware detection: /etc/rc.d/rc.hotplug start"
. /etc/rc.d/rc.hotplug start &


Я конечно могу ошибаться, но по моему он так в отдельном потоке работать не будет. Потому как оператор точка - это аналог оператора include. Вот если в начале этой строки убрать точку, тогда это будет отдельный процесс, который может работать параллельно. Тоже самое (&) можно и к ldconfig применить.
Удачи, Артур Крюков
--
CentOS 5.x | Fedora Core
Home милый wikihome и мой блог
Спасибо сказали:
Аватара пользователя
cheer
Сообщения: 729
Статус: Самовлюблённый сноб
ОС: archlinux i686-current

Re: Ускорение загрузки

Сообщение cheer »

ИМХО, Вы ошибаетесь:
во-первых, у меня нет надписи о том, что загружается hotplug и другого вывода о нём, а если сразу начать запускать иксы, то ругаются: не найти устройство.
во-вторых, если смотреть в учебник по bash, то оператор . - действительно аналог include, но запускает hotplug он в отдельном потоке - "hotplyg start &"
Спасибо сказали:
Лис
Сообщения: 1639
ОС: Zenwalk

Re: Ускорение загрузки

Сообщение Лис »

Init в принципе не поддерживает отдельные потоки, все скрипты в нем загружаются последовательно. Поэтому и так медленно. С параллельными потоками загрузки умеет работать initng.
Спасибо сказали:
Аватара пользователя
cheer
Сообщения: 729
Статус: Самовлюблённый сноб
ОС: archlinux i686-current

Re: Ускорение загрузки

Сообщение cheer »

Лис, Вы хотите сказать, что при предложенном мною способе hotplug выполняется не в отдельном потоке?! Выполняется, ещё как. Попробуйте. Это же просто bash-программирование. ИМХО, init тут ни при чём.
Спасибо сказали:
mirage
Сообщения: 10

Re: Ускорение загрузки

Сообщение mirage »

Какраз недавно ускорял запуск, вот что получил:

Код: Выделить всё

--- /etc/rc.d/rc.M.orig    2004-06-20 07:42:42.000000000 +0400
+++ /etc/rc.d/rc.M    2006-03-14 02:00:05.000000000 +0300
@@ -27,8 +27,10 @@
   /bin/hostname darkstar
 fi

+{
 # Save the contents of 'dmesg':
 /bin/dmesg -s 65536 > /var/log/dmesg
+}&

 # Start the system logger.
 if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then
@@ -93,12 +95,15 @@
   /sbin/ldconfig
 fi

+{
 # Update the X font indexes:
 if [ -x /usr/X11R6/bin/fc-cache ]; then
   echo "Updating X font indexes:  /usr/X11R6/bin/fc-cache"
   /usr/X11R6/bin/fc-cache
 fi
+}&

+{
 # Start the print spooling system.  This will usually be LPRng (lpd) or CUPS.
 if [ -x /etc/rc.d/rc.cups ]; then
   # Start CUPS:
@@ -107,11 +112,14 @@
   # Start LPRng (lpd):
   . /etc/rc.d/rc.lprng start
 fi
+}&

+{
 # Start netatalk. (a file/print server for Macs using Appletalk)
 if [ -x /etc/rc.d/rc.atalk ]; then
   /etc/rc.d/rc.atalk
 fi
+}&

 # Start smartd, which monitors the status of S.M.A.R.T. compatible
 # hard drives and reports any problems.  Note some devices (which aren't
@@ -138,23 +146,29 @@
 # create the file /var/log/pacct (touch /var/log/pacct).  By default, process
 # accounting is not enabled (since /var/log/pacct does not exist).  This is
 # because the log file can get VERY large.
+{
 if [ -x /sbin/accton -a -r /var/log/pacct ]; then
   /sbin/accton /var/log/pacct
   chmod 640 /var/log/pacct
   echo "Process accounting turned on."
 fi
+}&

 # Start crond (Dillon's crond):
 # If you want cron to actually log activity to /var/log/cron, then change
 # -l10 to -l8 to increase the logging level.
+{
 if [ -x /usr/sbin/crond ]; then
   /usr/sbin/crond -l10 >>/var/log/cron 2>&1
 fi

+
 # Start atd (manages jobs scheduled with 'at'):
+
 if [ -x /usr/sbin/atd ]; then
   /usr/sbin/atd -b 15 -l 1
 fi
+}&

 # Slackware-Mini-Quota-HOWTO:
 # To really activate quotas, you'll need to add 'usrquota' and/or 'grpquota' to
@@ -173,6 +187,7 @@
 # here:  /usr/doc/Linux-HOWTOs/Quota

 # Check quotas and then turn quota system on:
+{
 if grep -q quota /etc/fstab; then
   if [ -x /sbin/quotacheck ]; then
     echo "Checking filesystem quotas:  /sbin/quotacheck -avugm"
@@ -183,13 +198,17 @@
     /sbin/quotaon -avug
   fi
 fi
+}&

 # Start the sendmail daemon:
+{
 if [ -x /etc/rc.d/rc.sendmail ]; then
   . /etc/rc.d/rc.sendmail start
 fi
+}&

 # Start the APM daemon if APM is enabled in the kernel:
+{
 if [ -x /usr/sbin/apmd ]; then
   if cat /proc/apm 1> /dev/null 2> /dev/null; then
     echo "Starting APM daemon:  /usr/sbin/apmd"
@@ -197,32 +216,43 @@
   fi
 fi

+
 # Start the ACPI (Advanced Configuration and Power Interface) daemon:
 if [ -x /etc/rc.d/rc.acpid ]; then
   . /etc/rc.d/rc.acpid start
 fi
+}&

 # Load ALSA (sound) defaults:
+{
 if [ -x /etc/rc.d/rc.alsa ]; then
   . /etc/rc.d/rc.alsa
 fi
+}&

 # Load a custom screen font if the user has an rc.font script.
+{
 if [ -x /etc/rc.d/rc.font ]; then
   . /etc/rc.d/rc.font
 fi
+}&

 # Load a custom keymap if the user has an rc.keymap script.
+{
 if [ -x /etc/rc.d/rc.keymap ]; then
   . /etc/rc.d/rc.keymap
 fi
+}&

 # Initialize HP Officejet support:
+{
 if [ -x /etc/rc.d/rc.hpoj ]; then
   . /etc/rc.d/rc.hpoj start
 fi
+}&

 # Start the MySQL database:
+{
 if [ -x /etc/rc.d/rc.mysqld ]; then
   . /etc/rc.d/rc.mysqld start
 fi
@@ -234,14 +264,18 @@

 # Start Samba (a file/print server for Win95/NT machines).
 # Samba can be started in /etc/inetd.conf instead.
+
 if [ -x /etc/rc.d/rc.samba ]; then
   . /etc/rc.d/rc.samba start
 fi
+}&

 # Start the GPM mouse server:
+{
 if [ -x /etc/rc.d/rc.gpm ]; then
   . /etc/rc.d/rc.gpm start
 fi
+}&

 # If there are SystemV init scripts for this runlevel, run them.
 if [ -x /etc/rc.d/rc.sysvinit ]; then
--- /etc/rc.d/rc.inet2.orig    2004-06-07 10:08:49.000000000 +0400
+++ /etc/rc.d/rc.inet2    2006-03-14 02:02:27.000000000 +0300
@@ -73,15 +73,19 @@
 fi

 # Start the inetd server:
+{
 if [ -x /etc/rc.d/rc.inetd ]; then
   /etc/rc.d/rc.inetd start
 fi
+}&

 # Start the OpenSSH SSH daemon:
+{
 if [ -x /etc/rc.d/rc.sshd ]; then
   echo "Starting OpenSSH SSH daemon:  /usr/sbin/sshd"
   /etc/rc.d/rc.sshd start
 fi
+}&

 # Start the BIND name server daemon:
 if [ -x /etc/rc.d/rc.bind ]; then
--- /etc/rc.d/rc.hotplug.orig    2004-06-21 07:34:12.000000000 +0400
+++ /etc/rc.d/rc.hotplug    2006-03-14 02:15:33.000000000 +0300
@@ -29,26 +29,30 @@
     start|restart|status)
     for RC in /etc/hotplug/*.rc
     do
-        $RC $1
+        $RC $1 &
     done
+    wait
     touch /var/lock/subsys/hotplug
;;
     stop)
     for RC in /etc/hotplug/*.rc
         do
-            $RC stop
+            $RC stop &
         done
+    wait
         rm -f /var/lock/subsys/hotplug
;;
     force-reload)
     for RC in /etc/hotplug/*.rc
         do
-            $RC stop
+            $RC stop &
         done
+    wait
     for RC in /etc/hotplug/*.rc
         do
-            $RC start
+            $RC start &
         done
+    wait
         rm -f /var/lock/subsys/hotplug
;;
Спасибо сказали: