CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Linux быстрее мысли.

Сергей ЯРЕМЧУК grinder@ua.fm

Конфигурация моего домашнего компьютера по нынешним временам далеко не самая продвинутая: Intel Celeron 300A 64 Mб ОЗУ. В принципе, мне хватает — ни обработкой звука ни серьезной графикой я не занимаюсь да и шотган свой я практически зачехлил, вон в углу стоит. А как увеличить производительность, спросите Вы? А очень легко необходимо убрать лишние приложения с оперативной памяти. В MS Windows все просто до безобразия — даже неинтересно: Пуск > Выполнить набираем msconfig и наслаждаемся, в смысле, выключаем все, чего душа пожелает. Но все дело в том что Linux сейчас в моем сердце. IMHO, эта ОС при равной с Windows нагрузке — 2-3 PDF-файла по 3-4 мега 2-3 документа наподобие Word не считая Web-сервера Apache со всеми модулями наподобие Perl + MySQL и, конечно же, какой-нибудь музыкальный проигрыватель типа WinAmp — производительней будет. Как же решить проблему повышения производительности в Linux?

В чем только ни упрекали эту операционную систему: и в недостатке программ для нее, и в том, что производители оборудования не поддерживают ее (см. статью Петра «Roxton’а» СЕМИЛЕТОВА «Линукс — в каждый дом!», МК № 17—18 (188—189)), но по крайней мере в одном никто не может упрекнуть Linux — в гибкости настройки. Да, иногда попотеть придется, но потом… Если заинтересовались, то поехали.

Во-первых, давайте выключим всех лишних демонов, так называются программы, которые висят в оперативной памяти. Чтобы сделать это, Вы должны обладать правами root. Если у Вас нет сети — ни локальной ни Интернета (а бывает и такое — сочувствую) выключаем:

dhcpd — автоматическое распределение адресов TCP/IP в сети;

named — ceрвер DNS — определение IP-адреса компьютера по его доменному имени);

network — управление сетевыми функциями;

nfs — монтирование файловых систем в сети;

portmap — обеспечение поддержки удаленного вызова процедур для различных протоколов NFS;

routed — использование таблиц маршрутизации c использованием RIP;

ruserdrwallsnmpd, sshd — удаленное администрированиe;

sendmail — запуск демона электронной почты;

smb — доступ к файлам на компьютерах под управлением MS Windows;

squid — proxy-сервер;

httpd — web- сервер Apache

gated — маршрутизация;

ypbindyppasswdypserv — распределение файлов в UNIX.

Если нет принтера, то выключаем демоны cups, lpd. Если не нужны базы данных, то — postgresqld mysqld msqld. Не используете задания, которые выполняются по расписанию — anacron, atd, crond. Нет устройств, подключенных к порту USB — тогда usb и usbd. Кстати, если непонятно, для чего предназначен демон, попробуйте: man название. Ну, хватит, по-моему, уже и так ничего не работает. Чтобы демон не загружался в современных дистрибутивах, достаточно выбрать (привожу пример для клонов Linux Mandrake) DrakConf > BootService (стартовые сервисы) и снять галочку с переключателя Boot, или попробуйте К > Настройка > Загрузка стартовые сервисы > Редактор SysV-init. Для тех, у кого нет данной фичи, могу предложить следующий вариант. Для начала необходимо сделать пару отступлений.

Во-первых, Linux загружается следующим образом :

• ядро запускает программу init, находящуюся в каталоге /sbin;

• init запускает сценарий (именно сценарий — потом можно посмотреть, что к чему) /etc/rc.d/rc.sysinit;

• rc.sysinit устанавливает различные системные переменные и выполняет реинициализацию системы;

• init запускает все сценарии, определенные для уровня запуска по умолчанию;

• init запускает сценарий (опять же сценарий!) /etc/rc.d/rc.local;

Второе — уровни запуска Linux:

— останов (halt);

— однопользовательский режим

— многопользовательский режим без NFS (то же, что и «3», но без сети);

— полностью многопользовательский режим;

— не используется;

— X-Window;

— перезагрузка (reboot);

Какой отсюда можно сделать вывод? Что нам нужно — отключить загрузку демона при загрузке определенного уровня ( «5» c X-Window или «3» в командной консоли) или остановить его в скрипте /etc/rc.d/rc.local? Сначала второй вариант. Здесь все очень просто, добавьте только в конец файла строку /etc/rc.d/init.d/demon_name stop (вместо demon_name — я думаю, Вы поняли: необходимо вписать название демона, которого Вы хотите остановить), соответственно, если возникнет необходимость в запуске, то можно будет просто закомментировать данную строку.

Ну, а теперь перейдем к первому варианту. Посмотрите в каталог /etc/rc.d/rc5.d/ (каталоги rc1.d — rc6.d соответствуют своим уровням запуска). Там мы видим ссылки на файлы в каталоге /etc/init.d/ (то есть как раз на демонов, запускающихся на данном уровне), форма этих ссылок такова: @S10network, @K02usbd. Символ @ вначале показывает, что это ссылка, следующий символ —S (start) или K (kill), дальше следует число из двух цифр, которое показывает последовательность запуска сценариев, и последним идет, как Вы уже догадались, название соответствующего демона. Теперь, я думаю, все понятно: чтобы демон не загружался, необходимо просто заменить букву S на K — и все.

Следующий шаг: выключаем лишние виртуальные консоли (это те что под X-Window переключаются комбинацией Ctrl+Alt+F№) — для этого заходим в /etc/inittab и ставим знак комментария в строках

Примечание: я ставлю два ## в строке, чтобы не делать резервную копию файла («тут за день так накувыркаешься») чтобы помнить что именно подверглось изменению (рекомендую вообще записывать ВСЕ изменения, которые Вы вносили в файлы конфигурации, — на бумагу или в файл). Этот шаг позволяет сэкономить по 0.5 Mб на каждом терминале. Напоминаю что по умолчанию терминалов запускается шесть, плюс седьмой под X-Window — оставляйте, сколько реально надо. Я, как видите, оставил два (из жадности).

Далее, если Вы любите слушать музыку в фоне (для рабочего настроения) то «навіщо платити більше» — запустите mpg123 вместо XMMS. Звук такой же классный а памяти занимает меньше.

Следующий шаг. Я думаю, Вы уже знаете что X-Window не связана жестко с конкретным диспетчером окон. Поэтому есть возможность в любой момент запустить тот, который полегче. Вот некоторые из них: KDE (>11.1 Mб), Gnome (>9.6 Mб)Enlightenment (6.2 Mб), IceWM (4.8 Mб), Xfce (4.3 Mб), fvwm2 (2.3 Mб), fvwm1 (1.7 Mб), Sawfish (5.6 Mб) и т. д. Как видите, список большой, и я думаю, что это тема для отдельного разговора. Примечание: в скобках указано примерное количество оперативной памяти, занимаемой диспетчером а первые четыре — мои любимые.

Но в чем особенная прелесть Linux’а это в том что система распространяется в исходных кодах. А потому можно заново собрать ядро, чтобы удалить лишние модули. Да-да! А в Windows системными файлами занимаются только вирусы (и программисты Microsoft, естественно :-)).

Поехали. Для начала почитайте последнюю версию Kernel-HOWTO и Kerneld. Далее необходимо определиться что за ядро будем ставить, — или более новое или то которое было но без лишних модулей или же более старый релиз если в Вашем ядре есть ненужные параметры. Например общепризнанно что ядра серий 2.2.х немного быстрее 2.4.х. Выбор за Вами. У меня стоят параллельно ядро серии 2.4.10 и облегченный вариант 2.2.8 и в зависимости от планируемой работы я загружаю то, которое мне нужно.

Исходные тексты ядра в находятся в /usr/src/linux/, в Интернете ядра можно найти на ftp://ftp.kernel.org в каталоге /pub/linux/kernel/. Договоримся: будем перекомпилировать имеющееся. Переходим в каталог под root: cd/usr/src/linux/. Там же находится конфигурационный файл /usr/src/linux/.config. Параметры будущего ядра могут быть сконфигурированы с помощью любой из трех команд: make config, make menuconfig, make xconfig. Первая — для отчаянных парней; в этом случае в командной строке необходимо будет ответить более чем на 200 вопросов. Вернуться к предыдущему пункту возможности нет. Следующая предоставляет более приятный пользовательский интерфейс. Основное достоинство в том, что нет необходимости проходить по всем параметрам, можно изменить только необходимые. Все построено на системе меню. Но если у Вас установлена система X-Windows, то можете воспользоваться командой make xconfig. Появится меню с красивой графической прорисовкой. При выборе пунктов меню могут быть выбраны следующие пункты: Y — параметр встраивается в ядро, M — будет компилироваться в виде подключаемого модуля и загружаться по требованию, N — параметр не выбирается. Итак, переходим в каталог с исходными текстами и набираем make xconfig.

Все параметры перечислять не буду, Вам наверняка станет скучно, да и многое здесь зависит от конкретной конфигурации. К тому же при выборе двух последних команд доступен отличный HELP (на англицком, естественно). Поговорим об общих принципах:

• Решите, будете ли Вы собирать целое ядро или модульное. Модули загружаются только по требованию — если собираетесь работать с модулями, то ответьте Y на соответствующие вопросы (CONFIG_MODULESCONFIG_KERNELD);

• Выберите тип Вашего процессора;

• Если у Вас нет SCSI-устройств, отключите все, что со словом «SCSI», или оставьте только нужные устройства;

• Отключите все сетевые устройства, поддержка которых Вам не нужна;

• Запретите поддержку инфракрасных устройств (IrDA subsystem);

• Разрешите поддержку и использование generic PCI bus-master DMA;

• DMA по умолчанию (Use DMA be defaults);

• Отключите поддержку сетевой файловой системы (NFS);

• Запретите все консольные драйвера, за исключением VGA text console;

• Отключите SAMBA (CONFIG_SMB_FS) — он предназначен для работы c Windows-компьютерами в сети (если нет необходимости, естественно);

• Запретите все Ftape;

• Запретите поддержку файловых систем, за исключением ISO 9660 CDROM, second extended fs (CONFIG_EXT2_FS) — куда же без нее — и (CONFIG_FAT_FS) — без Windows тоже никуда, — наконец, /dev/pts, и /proc;

• Запретите поддержку ISDN и IPv6;

• Отключите ленточные устройства (CONFIG_BLK_DEV_IDETAPE) PCMCIA-устройства (CONFIG_BLK_DEV_IDE_PCMCIA) — вряд ли они у Вас есть;

• Запретите поддержку джойстиков;

• Отключите Amateur Radio (все АХ-25);

• Отключите все драйвера звуковых карт, которые Вам не нужны (почитайте Sound-HOWTO для настройки);

• включите поддержку драйвера Вашей мыши (по названию фирмы и\или разъема).

Закончив вносить изменения, нажмите кнопку Save and Exit для сохранения и выхода из программы.

Теперь, когда настройка выполнена, приступаем к компиляции ядра. Наберите следующие команды:

Затем, если Ваша система поддерживает сжатые ядра, наберите

ну, а если не получается, то просто: make zImage

В принципе, в целях безопасности, чтобы root не висел в списке задач, рекомендуется вместо последней команды набрать nohup make bzImage & и выйти, а ядро будет компилироваться в фоне. В зависимости от выбранных параметров и производительности Вашего компьютера, процесс компиляции займет время от нескольких минут до нескольких часов — у меня на это ушло около часа).

После того как завершится компиляция, необходимо скопировать новое ядро в загрузочный сектор /boot

и изменить загрузчик LILO. Чтобы иметь возможность загружаться с новым ядром, добавьте следующие строки в файл /etc/lilo.conf:

После изменения обновите LILO командой: /sbin/lilo -v. Теперь после перезагрузки можно выбрать новое ядро.

Итак, мы собрали сейчас цельное ядро. К сожалению, из-за недостатка места я не могу рассказать об особенностях компиляции модульного ядра — попробуйте разобраться сами.

В заключение хочу сказать, что при перекомпиляции ядра Вам все равно не отвертеться от чтения документации (по секрету скажу, что ее, документацию, я прочитал после первого опыта сборки ядра, хоть я при этом и не особенно хулиганил). Но после всех мучений Вы получите легкую, быструю и гибкую в настройках систему. К тому же можно будет небрежно бросить в разговоре с друзьями: «Да я вот сегодня в Linux ядро пересобрал — так, ничего особенного». Остается только пожелать успехов и … Linux forever.

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov