У многих пользователей имеются достаточно старые компьютеры, на которых уже не работают современные операционные системы, однако можно взять версию чуть старее и "доточить" до нужного состояния. В этой статье я постараюсь показать пример такого "дотачивания" на примере компьютера моей мамы.
У моей мамы достаточно старый компьютер. Pentium I 233MHz/96MB/S3 Trio 2MB. Ему уже около десяти лет. Установлена в нём следующая перифирия:
# lspci 00:00.0 Host bridge: Intel Corp. 430VX - 82437VX TVX [Triton VX] (rev 02) 00:07.0 ISA bridge: Intel Corp. 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01) 00:07.1 IDE interface: Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton II] 00:0d.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+] 00:0f.0 Communication controller: Lucent Microelectronics LT WinModem (rev 02)
Последняя версия Windows которая была на этом компьютере - Windows 2000. Однако работать в ней было не комфортно из-за низкой произоводительности.
В 2005-ом году мне пришла в голову мысль установить на этот компьютер Linux. Выбор пал на ALT Linux Compact 2.3.3. (Его до сих пор можно скачать с официального сервера проекта ALT Linux и многих зеркал. Например отсюда). Этот дистрибутив не был чем-то очень новым (даже на тот момент), однако его отличала замечательная руссификация и "вылизанность". А так же использование ядра 2.4, которое менее требовательно к памяти чем 2.6.
#uname -a Linux Second 2.4.22-std-up-alt29 #1 Mon Aug 2 20:31:14 MSD 2004 i586 unknown unknown GNU/Linux
Konsole с выводом "free" и "ps ax|wc -l" |
Установку самого дистрибутива я описывать не буду, поскольку она достаточно проста и тривиальна. Однако сразу после установки система по скорости и комфортности работы не сильно отличались от Windows 2000. Поэтому пришлось заняться её оптимизацией.
После оптимзиации время от включения питания до полной загрузки KDE стало 1:58. Время от появления приглашения LiLo до полной загрузки KDE стало 1:35. До оптимизации время от включения до полной загрузки KDE превышало четыре минуты.
Скриншот наглядно показывает что при трёх запущенных пользовательских приложениях (правда ksnapshot в момент снятия снимка не виден) имеется ещё достаточно много свободной памяти а общее число процессов всего 39!
Сам список процессов тоже не выглядит страшным:
#ps ax PID TTY STAT TIME COMMAND 1 ? S 0:03 init [5] 2 ? SW 0:00 [keventd] 3 ? SWN 0:00 [ksoftirqd_CPU0] 4 ? SW 0:00 [kswapd] 5 ? SW 0:00 [bdflush] 6 ? SW 0:00 [kupdated] 7 ? SW 0:00 [mdrecoveryd] 495 ? S 0:00 /usr/sbin/gpm -m /dev/ttyS0 -t ms3 516 ? S 0:01 /usr/X11R6/bin/xfs -port -1 -daemon -user xfs 536 ? S 0:00 /usr/sbin/rundm /dev/tty1 -- 542 ? S 0:00 kdm -nodaemon 578 tty1 S 0:00 /sbin/mingetty tty1 586 ? S 0:29 /usr/X11R6/bin/X -nolisten tcp -auth /var/run/xauth/A 587 ? S 0:00 -:0 595 ? S 0:00 /bin/sh /usr/bin/startkde 665 ? S 0:00 /usr/bin/ssh-agent -u 747 ? S 0:00 kdeinit: Running... 750 ? S 0:00 kdeinit: dcopserver --nosid 753 ? S 0:00 kdeinit: klauncher 756 ? S 0:01 kdeinit: kded 765 ? S 0:04 /usr/bin/artsd -F 10 -S 4096 -a oss -s 60 -m artsmess 771 ? S 0:01 kdeinit: knotify 779 ? S 0:00 kwrapper ksmserver 781 ? S 0:00 kdeinit: ksmserver 782 ? S 0:04 kdeinit: kwin -session 11c0a8020200011434854820000002 788 ? S 0:09 kdeinit: kdesktop 790 ? S 0:10 kdeinit: kicker 792 ? S 0:00 kdeinit: kio_file file /home/moose/tmp/ksocket-moose/ 798 ? S 0:01 kkbswitch -session 11c0a80202000114397521500000009720 808 ? S 0:12 kdeinit: kwrite /home/moose/Desktop/MooSE/article.txt 809 ? S 0:06 kdeinit: konsole 810 pts/0 S 0:00 /bin/bash 852 pts/0 S 0:00 su - 854 pts/0 S 0:00 -bash 887 ? S 0:14 ksnapshot -caption KSnapshot -icon ksnapshot.png -min 893 ? S 0:01 kdeinit: kio_thumbnail thumbnail /home/moose/tmp/ksoc 894 pts/0 R 0:00 ps ax #
И это при том что на современной Kubuntu 8.04 в практически деофлтной конфигурации число процессов равняется 164!
Как же удалось добитья таких результатов? Да на самом деле не так уж и сложно: просто нужно выкинуть всё лишнее из системы. Как именно? Вот этому и посвящена эта статья.
Первым делом нужно отключить все лишние системные службы. Список доступных служб можно просмотреть командой:
#chkconfig --list
Для остановки службы используется команда:
#service <ИМЯ_СЕРВИСА> stop
ДЛя отключения службы:
#chkconfig <ИМЯ_СЕРВИСА> off
Прежде чем что-либо отключать - тщательно подумайте о последствиях и отключайте службу только если действительно знаете и понимаете что именно делаете. Я в итоге пришёл вот к такому списку:
#chkconfig --list|grep \:on rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:off pcmcia 0:off 1:off 2:on 3:on 4:on 5:on 6:off sound 0:off 1:off 2:on 3:on 4:on 5:on 6:off xfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off dm 0:off 1:off 2:off 3:off 4:off 5:on 6:off keytable 0:off 1:off 2:on 3:on 4:on 5:on 6:off gpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Отдельное внимание уделим определнию нового оборудования. За эту функцию отвечает сервис kudzu. Его тоже полезно отключить, а в случае появления нового оборудования просто запустить разово эту службу командой:
#service kudzu start
Поскольку конечный пользователь (в данном случае моя мама) не будет работать в консоли, можно уменьшить количество виртуальных консолей. Для этого в файле /etc/inittab нужно найти следующие строки:
1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6
И закомментировать лишнее следующим образом:
1:2345:respawn:/sbin/mingetty tty1 #2:2345:respawn:/sbin/mingetty tty2 #3:2345:respawn:/sbin/mingetty tty3 #4:2345:respawn:/sbin/mingetty tty4 #5:2345:respawn:/sbin/mingetty tty5 #6:2345:respawn:/sbin/mingetty tty6
Первую консоль лучше оставить (на всякий случай). "Иксы" (то есть графика) буду запускаться на второй виртуальной консоли.
Далее переходим к настройке KDE. Прежде чем описывать его настройку остановимся на достаточно часто встречающемся вопросе: оправдано использование KDE на такой слабой машине?
Как показла практика: оправдано. Можно использовать лёгкие оконные менеджеры типа IceWM или FVWM, однако прикладные приложения используют различные разделяемые библиотеки, которые всё равно придётся загружать в память. В случае KDE сама среда использует те же библиотеки что и прикладные приложения. Соответственно к моменту запуска приложения необходимые библиотеки уже будут в памяти. Т.е. запуск прикладных приложений будет проходить даже быстрее чем в случае использования простого оконного менеджера.
Окно настройки служб в центре управления KDE |
Кроме того не так давно было проведено исследование, показавшее что для разных DE/WM после запуска определённого количества приложений используемая используемая память достигает определённой величины, слабо зависящей от DE/WM.
Итак. Для начала проверяем содержимое каталога ~/.kde/Autostart и смотрим нет ли чего лишнего. Лишнее удаляем. У меня там вообще пусто:)
Следующим шагом идём в "Центр управления KDE" и выбираем пункт Компоненты -> Управление сервисами и отключаем лишнее. Экспериментально был установлено что нужно там только "KDED Mount Watcher".
Далее проверяем системный трей и закрываем все лишнее приложения. У меня там остался только kkbswitch. На этом пожалуй всё. Дальше перезагружаем компьютер и наслаждаемся скоростью работы:)
drujebober 2008-06-05 14:38:58 (#)