Библиотека Интернет Индустрии I2R.ru |
|||
|
Конфигурирование ядра linux и повышение его производительностиЯ использую версию ядра 2.2.17 поставляемую с дистрибутивом Mandrake, но основные принципы останутся теми же Конфигурирование ядра Убедитесь, что у вас установлены исходники ядра
и пакет заголовков: Перейдите в каталог, который содержит исходники
ядра. Обычно это cd /usr/src/linux Затем нужно ввести одну из команд: В первом случае вам будет задан ряд вопросов
(кстати, очень длинный), на который вам предстоит ответить.
Перед внесением изменений в файл конфигурации
ядра, сохраните его под Во время конфигурирования ядра вы можете включать или исключать некоторые функции из состава ядра или же сделать нужную вам функцию модулем, т.е. в состав ядра данная функция включена не будет, но она будет использоваться при необходимости, например, если вы добавите в систему устройство, то будет подключен нужный модуль (при условии, что вы его откомпилировали) Наша задача - повышение производительности системы, этого можно достичь, если точно сконфигурировать ядро и исключить из его состава ненужный код. Здесь можно указать тип процессора и функции, например поддержка памяти более 1GB, MTRR, эмулирование математического сопроцессора. Очень важно указать тип процессора: после того, как я правильно указал тип своего процессора производительность повысилась примерно в 1.5 раза, особенно это стало ощутимо при загрузке системы. Данная функция используется для оптимизации работы процессора. Если вы укажите тип процессора, например 486, 586, Pentium, PPro ядро не обязательно будет запускаться на более ранней архитектуре. Например, если вы укажите Pentium, ядро будет работать на PPro (хотя медленнее), но нет никакой гарантии, что оно запуститься на 486. Следующие типы рекомендованы для получения наибольшей производительности:
как я установил PPro Linux заработал быстрее. Я использую Intel Celeron 433A Объем памяти - установите 1GB, если, конечно, у вас менее 1GB. Math emulation Включите эту опцию, если вы используете один из процессоров: 386SX/DX/SL/SLC без 80387, 486SL/SX/SX2 SMP (Symmetric multi-processing support) Скорее всего у вас установлен один процессор и эту опцию вам нужно будет отключить - зачем включать лишний код в ядро? Если вы планируете использовать загружаемые модули, включите все функции. Можно создать компактную версию ядра, которая вообще не использует модули, а поддержка всех необходимых устройств будет включена непосредственно в ядро. В этом случае можно отключить все функции в этой секции. BIGMEM Поддержка памяти более 1GB Networking support Включите эту опцию, даже если вы не планируете работу в сети. Функции печати в Linux требуют сетевой поддержки. PCI support Поддержка шины PCI. PCI quirks Эту опцию нужно использовать, если у вас неисправна BIOS. Некоторые BIOS содержат ошибки, которые могут привести к сбоям при работе с PCI. Эта опция должна исправить эту ошибку. Если вы неуверенны, включите ее. Позже можно будет поэкспериментировать - если же BIOS исправна, эту функцию можно спокойно отключить и тем самым внести вклад в повышение производительности системы. PCI bridge optimization (experimental) Оптимизация моста PCI - для любителей экспериментов. Система может работать нестабильно. Попробовать можно, но я бы не стал жертвовать надежностью ради производительности. Backward-compatible /proc/pci Старые версии ядра поддерживали файл /proc/pci, который содержит перечень всех PCI-устройств. Некоторые программы используют этой файл, например, для сбора информации о системе. В новых ядрах используется файл /proc/bus/pci. Для поддержки обратной совместимости рекомендуется включить эту опцию. Если вы ее отключите, то у вас будет только один (новый) интерфейс /proc/bus/pci MCA support MCA - шина передачи данных, разработанная IBM - использовалась в системах PS1/PS2. Снята с производства и не используется. System V IPC Просто включите эту опцию. Более подробно вы можете прочитать на сайте metalab BSD Process accounting При включении этой опции программы пользовательского уровня будут информировать ядро о времени своего создания, владельце, использовании памяти и терминалов. Данную опцию рекомендуется включить. Sysctl support Sysctl позволяет изменять параметры ядра без перекомпилирования во время загрузки. Поддержка sysctl увеличивает размер ядра на 8Кб. Если ядро, которое вы компилируете, не предназначено для дисков загрузки/восстановления, включите эту опцию. Kernel support for a.out/ELF/MISC/JAVA binaries Linux-программы используют ELF-формат. Поэтому его нужно включить в состав ядра, а остальные использовать в качестве модулей. Parallel port support Поддержка параллельного порта. PC-style hardware Вы должны включить эту опцию (или хотя бы модулизировать ее), если вы используете параллельный порт типа PC. Все IBM PC-совместимые компьютеры и некоторые Alpha используют этот тип порта. Support foreign hardware Включите эту опцию, если вы используете другой (не PC) тип параллельного порта. Advanced Power Management (APM) BIOS support Поддержка расширенного управления питанием: ATX, "green"-устройства (например, VESA-мониторы). Если вам нужно отключить эту функцию во время загрузки, введите в качестве параметра ядра apm=off При возникновении проблем проверьте следующее:
PnP support Поддержка Plug and Play Normal PC floppy disk support Если вы хотите использовать FDD в Linux, включите эту опцию Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support Выключите эту опцию, если ваша система оснащена только SCSI-устройствами Use old disk-only driver on primary interface Эта опция устанавливает старый драйвер для управления Primary master IDE-интрефейсом. Обычно ее нужно отключить - будет использован новый драйвер для всех четырех дисков (Primary master, Primary slave, Secondary Master, Secondary slave) Ее также нужно отключить, если у вас только SCSI-устройства Include IDE/ATA-2 Disk support Поддержка IDE/ATA-2 дисков. Опцию можно отключить, только если вы не используете ATA-дисков. Use multi-mode by default При возникновении ошибки hda: set_multmode: status=0x51 hda: set_multmode: error=0x04 включите эту опцию Include IDE/ATAPI CDROM support Поддержка CDROM'а. При отсутствии такового отключите ее для уменьшения размера ядра. Include IDE/ATAPI TAPE support Поддержка IDE/ATAPI-стримера Include IDE/ATAPI FLOPPY support Поддержка IDE/ATAPI-флоппи. Если вы используете LS-120 или Lomega-ZIP, включите эту опцию. SCSI emulation support Позволяет использовать SCSI-драйвер для
ATAPI-устройств, Все остальные опции в данной секции
предназначены для Достичь увеличения производительности жесткого
диска hdparm в режиме теста для моего жесткого диска
до Packet Socket Протокол Packet используется программами, которые обмениваются данными непосредственно с сетевыми устройствами без промежуточных сетевых протоколов, например tcpdump. Kernel/User netlink support Просто включите эту опцию Я рекомендую включить следующие опции
Опции (*) требуются в случае конфигурирования сервера. При создании сервера также потребуется включение ряда дополнительных опций в зависимости от его назначения. Из соображений безопасности включение поддержки firewall на рабочей станции не будет лишним. В данной секции можно установить параметры SCSI. При отсутствии в системе SCSI-устройств можно отключить все. Здесь можно указать поддерживаемые протоколы (например, PPP), а также типы поддерживаемых сетевых адаптеров. Отключите все, что не используете. Например, если у вас установлена PCI-сетевая плата, то особого смысла включения поддержки других ISA-сетевых плат я не вижу. Поддержка соответственно IrDA- и USB-устройств. Принцип такой: все, что нужно - встраиваем в ядро, остальное - или исключаем или используем в качестве модуля. Я рекомендую включить в ядро следующие системы:
Также неплохо было бы включить поддержку квотирования (в случае с сервером). Включите поддержку звука, если у вас есть
звуковая плата, а во всем
Теперь, когда все устройства сконфигурированы,
нужно сохранить файл конфигурации ядра и перейти непосредственно к этапу Введите команду После завершения ее работы нужно ввести команду
Если исходники ядра и компилятор установлены корректно примерно минут через 20 (это зависит от версии ядра и от быстродействия вашей системы), вы получите откомпилированное ядро. Обычно оно помещается в каталог /usr/src/linux/arch/i386/boot Теперь нужно откомпилировать модули, которые
будут использоваться ядром И установить их Перед установкой модулей сделайте резервную
копию модулей Теперь можно ввести команду Откройте в любом редакторе файл /etc/lilo.conf
image=/usr/src/linux/arch/i386/boot/bzImage
Естественно, укажите свою корневую файловую систему и объем оперативной памяти. Введите команду Теперь перезагрузите систему Попробуйте загрузить ядро. В случае возникновения ошибок вы всегда сможете загрузить старую версию. Анонсы статей сайта Softerra |
|
2000-2008 г. Все авторские права соблюдены. |
|