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

нитрооктан для толстой птицы

J1M (J1M@LIST.RU)

Спецвыпуск: Хакер, номер #063, стр. 063-054-1


МЕТОДЫ ОПТИМИЗАЦИИ ОС LINUX

БОЛЬШИНСТВО СОВРЕМЕННЫХ ДИСТРИБУТИВОВ LINUX НЕ РАССЧИТАНО НА ИСПОЛЬЗОВАНИЕ В КАКОЙ-ТО ОПРЕДЕЛЕННОЙ ОБЛАСТИ, ТО ЕСТЬ ЯВЛЯЮТСЯ ДИСТРИБУТИВАМИ ОБЩЕГО НАЗНАЧЕНИЯ. ЭТОТ ФАКТ СОЗДАЕТ НЕКОТОРЫЕ ОГРАНИЧЕНИЯ ДЛЯ ДИСТРИБУТИВОСТРОИТЕЛЕЙ: ИМ ПРИХОДИТСЯ ИДТИ НА КОМПРОМИСС ПРОИЗВОДИТЕЛЬНОСТИ И ЗАДАЧ, НА КОТОРЫЕ НАЦЕЛЕН ДИСТРИБУТИВ. ПОПРОБУЕМ ИСПРАВИТЬ СИТУАЦИЮ И ПОДОГНАТЬ ПИНГВИНА ПОД НАШИ НУЖДЫ

В этой статье речь пойдет об оптимизации Linux для применения в качестве основной desktop-системы. Начнем с установки и плавно пройдем через настройку дисковой подсистемы, компилятора и графической системы к оптимизации ядра. Рассмотрим более-менее безопасные и популярные методы настройки производительности, а затем убедимся, как далеко можно зайти в деле форсажа и чем он чреват.

мифы древних неучей

Для начала развеем несколько мифов, а точнее ошибок, которые раз за разом допускают в статьях, посвященных оптимизации, разные linux-гуру. Вот импровизированный рейтинг мифов.

Миф 1: самый высокий уровень оптимизации для компилятора GCC задается опцией '-O9'

Этот миф по праву занимает первое место в моем рейтинге :). На самом деле GCC принимает четыре флага, оптимизирующих код: '-O' (он же '-O1'), '-O2', '-O3' и '-Os'. Если компилятор видит значение больше '-O3', то приравнивает его к тому же '-O3' :).

Миф 2: пересборка ядра способствует увеличению производительности примерно на 15%

Полная чушь. По умолчанию ядро в любом случае собирается с флагом '-O2', а заточка под конкретный процессор дает мало пользы (общеизвестный факт). Единственное, чего можно достичь при пересборке, — это уменьшения размера самого ядра. На практике тоже не всегда оказывается справедливым, так как создатели дистрибутивов выносят огромную часть функционала (вместе с драйверами) за пределы ядра — в модули.

Миф 3: одновременная установка флагов компилятора '-march' и '-mcpu' ('-mtune в GCC 3.4')

Похоже на первый миф, так как '-march' автоматически приводит к установке '-mcpu'.

Миф 4: расположение swap-раздела в начале диска приводит к повышению скорости чтения и записи с него и на него

Правда, но не всегда :). Что если в конце диска окажется большая база данных, кеш proxy-сервера или что-нибудь подобное? Головка диска начнет бегать через весь диск, что не очень хорошо скажется на производительности.

Миф 5: при достаточном количестве оперативной памяти Linux может работать без swap

Да, может. Однако что если кому-нибудь в голову придет собрать KDE из исходников (софт, написанный на C++, требует очень много памяти при компиляции) или примонтировать раздел /tmp к виртуальной ФС tmpfs, располагающейся в оперативке?

3, 2, 1. пуск!

Как театр начинается с вешалки, так разгон начинается с установки. Некоторые виды оптимизации можно осуществить только во время инсталляции дистрибутива на чистый раздел.

Многое зависит от того, как будет разбит диск на разделы и какие файловые системы будут выбраны. Сделаем краткий обзор доступных файловых систем.

Ext2 — исторически первая родная ФС Linux. Не поддерживает журналирование, но обладает довольно высокими характеристиками быстродействия.

Содержание  Вперед на стр. 063-054-2