Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #69, АВГУСТ 2006 г.

от сервера к десктопу

КРИС КАСПЕРСКИ АКА МЫЩЪХ

Спецвыпуск: Хакер, номер #069, стр. 069-022-4


Если виртуальной памяти не хватит, затребовавшее ее приложение просто завершится с ошибкой. Выделять же 512 x 2 == 1024 Мбайт памяти на подкачку совершенно нецелесообразно и необязательно! Потому что при разбивке по умолчанию swap-раздел располагается между корневым и всеми остальными разделами, а это значит, что головке диска придется совершать перемещения на более далекие дистанции, вызывающие ничем не оправданное снижение производительности.

Раздел /usr лучше всего размещать вплотную к корневому, а /swap, /var и /tmp — держать на отдельном диске. Причем /tmp должен идти после /var, а не наоборот. Мотив /var не требует большого пространства (100 Мбайт будет более, чем достаточно), а вот под временные файлы следует отвести побольше, можно даже весь оставшийся объем. Если расположить /var после /tmp'а, то головка диска будет сильно порхать, поскольку ей придется при каждом обращении /tmp <-> /var пересекать весь /tmp. Разумнее оптимизировать раскладку разделов. Тоже самое относится и к /swap, который лучше расположить в начале диска, выделив под него сколько-нибудь памяти. «Сколько-нибудь» — потому что очень трудно убедить установщик, что подкачка нам не нужна, и мы предпочитаем все данные хранить в оперативной памяти.

[пересборка ядра.]

Все операционные системы семейства xBSD имеют монолитное ядро с опциональной поддержкой модулей, причем большая часть модулей может быть как включена непосредственно в само ядро, так и представлена динамически загружаемыми файлами. По умолчанию GENERIC-ядро включает в себя поддержку практически всего известного ему оборудования, в которое входят и SCSI-контроллеры, и сетевые карты, и другое оборудование, которое встречается только на серверах. Не говоря уже обо всех мыслимых и немыслимых сетевых протоколах, потребность в которых даже на серверах возникает далеко не всегда. Естественно, что это не проходит даром, и за поддержку приходится расплачиваться временем загрузки и потребляемой памятью. С другой стороны, динамические модули грузятся еще дольше. Поэтому наилучшей стратегией будет выбор такой конфигурации ядра, чтобы все часто используемые компоненты включались в него, а редко используемые — выносились в модули.

Управление ядром осуществляется путем прямого редактирования конфигурационных файлов GENETIC и LINT, расположенных в каталоге /sys/i386/conf, с последующей перекомпиляцией. Настроек, прямо или косвенно влияющих на производительность, очень много, поэтому ограничимся наиболее характерными.

Выбор процессора (параметр cpu в разделе CPU Options), равно как и поддержка технологии SSE (параметр CPU_ENABLE_SSE), вопреки слухам, практически ни на что не влияет, поскольку ядро само по себе не использует мультимедийных инструкций, а активация SSE фактически всего лишь указывает на необходимость сохранения SSE-регистров при переключении контекстов, а это уже тормоза. С другой стороны, выключение SSE в ядре делает работу двух и более «мультимедийных» приложений невозможной, и они постоянно гробятся.

Назад на стр. 069-022-3  Содержание  Вперед на стр. 069-022-5