Настройка сервера Linux и Windows
ITShaman - Сайт для АЙТИшников!
"Машины должны работать. Люди должны думать."
(девиз компании IBM)

Ускорение работы Ubuntu с дисковой подсистемой

Ускорение работы Ubuntu с дисковой подсистемой

Любая операционная система, основанная на ядре Linux, выгодно отличается от всех остальных по скорости работы. Это делает ее стандартом де факто для различного рода устройств, которые не блещут своей производительностью.

Но не смотря на это большинство пользователей хотят получить еще большую производительность от своих компьютеров.

Операционная система Ubuntu и любая другая ОС Linux, позволяет это сделать, так как некоторые параметры, выставленные по умолчанию, имеют не совсем оптимальные значения. Это стремления разработчиков к универсальности и работе на любом типе компьютерного "железа" в ущерб производительности.

Немного теории


Не для кого не секрет, что для большинства современных компьютеров самым слабым звеном является дисковая подсистема. За последние несколько лет технологии "увеличили" производительность практически всех компонентов компьютера, но этот технологический прорыв не коснулся жестких дисков. Если в этой области прогресс в сторону скорости и есть, то на общем фоне выглядит практически не заметно. Именно поэтому с оптимизации работы дисковой подсистемы и следует начать оптимизацию и "тюннинг" операционной системы Ubuntu.

По большей части современный файловые системы Ext3 и Ext4 обладают хорошим быстродействием и их более тонкая настройка не требуется. Более пристальное внимание следует уделить работе оперативной памяти и дисковой подсистемы в целом.

Любая операционная система Linux, в том числе и Ubuntu, устроена так, что практически одновременно использует для хранения каких-то временных данных, оперативную память и файл подкачки - swap. Этот файл подкачки размещается на жестком диске и нужен для разгрузки ОЗУ при ее заполнении. Благодаря ему, у пользователя появляется возможность запускать тяжеловесные приложения с небольшим объемом оперативной памяти, где часть информации хранится на жестком диске. Как говорится: "медленно, но верно". Это точно также как в бизнесе, кто захочет платить лишние деньги за не полностью используемые производственные ресурсы или при заказе рекламы в Екатеринбурге, заказчик не будет переплачивать лишние деньги за избыточную рекламу, полный эффект которой останется не востребованным.

Почему данные хранятся "...практически одновременно..." в swap и ОЗУ?

Потому что Ubuntu устроенна так, что при заполнении оперативной памяти на 40%, происходит ее высвобождение в файл подкачки. Если взять за "стандартный компьютер" - компьютер с 2 Гб оперативной памяти (большинство современных нетбуков обладают даже меньшим объемом памяти - 1Гб), то можно подсчитать, что 40% от всей памяти - это 819,2 Мб (1024Мб * 2 * 0,4 = 819,2 Мб). Интернет-браузер Google Chrome, к примеру, в среднем потребляет порядка 200-300 Мб ОЗУ. Остальные браузеры потребляют примерно столько же. Но очень редко можно встретить пользователя, который бы не пользовался, наверное, главной возможностью современных ОС - многозадачностью и не запускал бы несколько приложений одновременно.

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

Из этого следует, что параметры работы оперативной памяти, которые выставлены в Ubuntu по умолчанию, не совсем подходят для повседневной работы.

Хотелось бы заметить, что никто не утверждает, что swap-файл не нужен в операционной системе и от его использования можно вообще отказаться. Просто его роль в работе операционной системы можно немного принизить.

Эта статья призывает к более оптимальной утилизации имеющейся ОЗУ, так как по умолчанию в ОС держится большое количество ОЗУ просто не используемой, тем самым "тормозя" операционную систему.

Ускоряем работы Ubuntu с дисковой подсистемой


Вся работа по ускорению Ubuntu для удобства разбита не несколько частей:

  1. Редактируем конфигурационный файл /etc/sysctl.conf:
    sudo nano /etc/sysctl.conf
    1. В самом низу этого файла есть параметр vm.swappiness, который как раз и отвечает за распределение оперативной памяти. По умолчанию он имеет значение 60, показывая, что в любом случае должно оставаться 60% свободной оперативной памяти. Для рабочих станций рекомендуется изменить это значение на 10. Должно получится так:
      vm.swappiness=10

      Если этого параметра нет, то необходимо его добавить в самом конце открытого конфигурационного файла!

    2. В конце этого файла рекомендуется еще добавить параметр vm.vfs_cache_pressure, который указывает размер используемого дискового кэша.

      Если Вы обладатель компьютера с SSD-накопителем, то для Вас будет актуален параметр:

      vm.vfs_cache_pressure = 50

      Если у Вас компьютер с "простым" жестким диском, то наибольшую отзывчивость можно получить при установке параметра:

      vm.vfs_cache_pressure = 1000
  2. Если в своей повседневной работе Вы часто используете только несколько приложений, то можете воспользоваться их кэшированием. Для этих целей есть дополнительный демон preload, который собирает статистику "ваших предпочтений" и держит часть наиболее востребованных файлов запускаемых приложений в оперативной памяти, тем самым избавляя Вас от утомительных ожиданий долгой первоначальной загрузки.

    Чтобы воспользоваться демоном preload в Ubuntu, необходимо его установить:

    sudo apt-get install preload

    Дальнейшей дополнительной настройки preload не требует.

  3. После всех манипуляций необходимо перезагрузить операционную систему или выполнить:
    sudo sysctl -p

Дополнительная информация


Если Вы не готовы сразу же менять всю работу системы распределения оперативной памяти, то можете временно применить эти параметры, которые будут действовать до следующей перезагрузки операционной системы. Для этого нужно выполнить соответствующие команды:

echo 10 > sudo /proc/sys/vm/swappiness
и
echo 1000 > sudo /proc/sys/vm/vfs_cache_pressure

Для пользователей, которые не готовы работать с командной строкой и конфигурационными файлами, есть решение в виде графической утилиты для тонкой настройки операционной системы Ubuntu - Ailurus, которая "умеет" это делать.

Благодаря этому, Ваша операционная система получит свежих "глоток" воздуха, а использование оперативной памяти вашего компьютера будет наиболее оптимальным.

Статья опубликована 29.08.2011 · Автор статьи: Зюзгин Иван
Статья относится к linux, ubuntu, swap, файловая система, блоггинг, настройка, технологии, система
Случайные 7 статей:
  1. Как установить KDE в Ubuntu
  2. Положение о порядке подключения и работы автоматизированных рабочих мест сотрудников предприятия в сети Интернет
  3. Все установленные пакеты в Debian
  4. Создание мультизагрузочной флешки с помощью SARDU
  5. Автоматическое монтирование дисков и разделов в Linux или что такое fstab?
  6. Установка OpenOffice от Infra в Ubuntu
  7. Создание, редактирование и удаление SWAP в Linux
Комментарии [9]
  1. myr4ik07 #
    29 Август, 07:35

    Пожалуйста, источники в студию …

  2. myr4ik07 #
    29 Август, 07:43

    Кстати, Вы забыли упомянуть, что работа демона preload будет заметна,если у использующего,будет большой объем, физического размера оперативной памяти.

    P.S. К тому же, сразу прирост производительности, используемый сие демон, не почувствует!

  3. Андрей #
    29 Август, 08:07

    vfs_cache_pressure=1000 это ошибка? У этого параметра значения от 1 до 100 допустимы, и по умолчанию как раз 100 в ubuntu. Чем меньше значение, тем больше кэшируется.

  4. Danil #
    29 Август, 12:49

    от 1 до 100 – это значение vm.swappiness, а 1000 для vfs_cache_pressure – справедливо. Mut@NT – спасибо за статью!

  5. Mut@NT #
    30 Август, 04:54

    myr4ik07: Пожалуйста, источники в студию …

    О чем Вы? Статья написана с использованием большой кучи блогов и сайтов, которые копипастят контент откуда непоподя

    myr4ik07: Кстати, Вы забыли упомянуть, что работа демона preload будет заметна,если у использующего,будет большой объем, физического размера оперативной памяти.
    P.S. К тому же, сразу прирост производительности, используемый сие демон, не почувствует!

    Спасибо, за уточнение. Добавлю.

    Андрей: vfs_cache_pressure=1000 это ошибка? У этого параметра значения от 1 до 100 допустимы, и по умолчанию как раз 100 в ubuntu. Чем меньше значение, тем больше кэшируется.

    Вроде как у него нет ограничения.

  6. selius #
    31 Август, 03:01

    Ubuntu 10.04, сделал по инструкции – не знаю есть ли хоть какой прирост производительности (или это скорее самовнушение) – уже как больше суток, полет нормальный! Хуже точно не стало =)
    За статью – спасибо!

  7. Mut@NT #
    31 Август, 04:45

    selius: Ubuntu 10.04, сделал по инструкции – не знаю есть ли хоть какой прирост производительности (или это скорее самовнушение) – уже как больше суток, полет нормальный! Хуже точно не стало =) За статью – спасибо!

    Смотря как работаете с ОС. Если У Вас большое количество ОЗУ изначально, то, возможно, ее заполнение и не доходило до отметки разгрузки в файл подкачке.

    В большинстве случаев эти действия убирают легкую приторможенность системы при продолжительно работе

  8. Комполюбитель #
    30 Август, 22:42

    Я рушил проблему проещ, но дороже. Полностью отключил swap, убрал раздел подкачки и нарачтил оперативку до 8 Гб. теперь никаких лагов из-за сброса подкачки на диск

  9. Леана #
    8 Июль, 19:02

    Делала по описанию, но в моем случае особого прироста не заметила, а вот apt-get install zram, вродь как полезнее оказался. Если кто захочет поэкспериментировать, то swappiness придется вернуть взад на 60, или не меньше 40, иначе фокус не получится.

Имя (обязательное поле)
e-mail (обязательное поле) Сайт
Текст комментария:
IT-новости
Популярное
Облако тегов
При цитировании документа активная ссылка на сайт обязательна.
Администрирование и настройка серверов, рабочих станций на базе ОС Linux и Windows. www.itshaman.ru - Настройка Linux и Windows © 2009 - 2016