Ускорение работы linux

Статья, о том как можно ускорить работу GNU/Linux с помощью swappiness, vfs_cache_pressure, drop_caches и др. С недавних пор досупен патч многократно ускоряющий отзывчивость системы, я думаю кому интересно --> вот патч.

swappiness
(/proc/sys/vm/swappiness, ед.изм. проценты, до 100) - при заполнении такой части доступной RAM ядро приступит к использованию swap. Посмотреть значение можно при помощи команды "cat /proc/sys/vm/swappiness". В мой системе значение по умолчанию было 60, т.е. когда память заполнялась чуть больше чем наполовину, ядро начинало свопать. Имеет смысл увеличить это значение, я у себя использую 95. Изменить его можно при помощи команды:

echo 95 > /proc/sys/vm/swappiness

Разумеется, это надо делать при каждой загрузке системы. 
vfs_cache_pressure
(/proc/sys/vm/vfs_cache_pressure, ед.изм. "штуки") - влияет на отношение ядра к освободившимся от кэшированных оъектов файловой системы страницам ОЗУ. Значение по умолчанию - 100. Уменьшение этого значения заставляет ядро придерживать эти страницы почаще для своих нужд в будущем. Увеличение значения заставляет ядро чаще отдавать эта страницы для нужд других программ, т.е. при увеличении этого значения величина cached в выводе top будет расти медленнее. Немного подробнее об этой переменной можно прочитать в файле Documentation/filesystems/proc.txt от корня дистрибутива исходных кодов ядра. Какое именно значение стоит выставить мне пока удалось найти только в Сети, обычно рекомендуют 1000. Я думаю, что прояснить этот вопрос помогут исходники ядра, но до этого пока руки не доходят. Проверить и выставить значение можно аналогично действиям из предыдущего пункта.
drop_caches
(/proc/sys/vm/drop_caches) - это "командная" переменная, т.е. считывать её значение особого смысла нет, нужно только записывать. Предназначена для запуска принудительного освобождения оперативной памяти из-под кэшированных объектов. Это можно делать время от времени если память под кэши и буферы продолжает расходоваться слишком быстро и ядро снова начинает работать со swap. Побочный эффект - некоторое замедление производительности системы в целом до того, как будут снова закэшированы наиболее части используемые объёкты и данные. Запись в этот файл (/proc/sys/vm/drop_caches) значения 1 запустит очистку кэша страниц оперативной памяти, значение 2 запустит очистку кэша объектов файловой системы, значение 3 запустит 1 и 2 последовательно. Важный момент - данные будут просто уничтожаться, поэтому перед запуском этих процессов имеет смысл выполнить sync чтобы сбросить изменённые данные на диск. Тем не менее, на мой взгляд, для сильно нагруженного сервера, обрабатывающего большие объёмы данных за короткое время, между запуском sync и записью значения в этот файл в кэш могут попасть новые данные, которые на диск уже записаны не будут и, соответственно, будут утеряны. Так что пользоваться этим механизмом следует редко и осторожно, осознавая последствия. Пример команды записи:

sync && echo 2 > /proc/sys/vm/drop_caches

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

Нужно открыть файл '''/etc/sysctl.conf'''
И создать в нём такую строку:

vm.swappiness=5
vm.vfs_cache_pressure=10000

p.s. значения vm.swappiness можно ставить от 0 до 100 (чем больше тем выше приоритет подкачки)

Ссылки
http://linuxportal.ru/forums/index.php/m/79946/#msg_79937

Теги: , ,

Дата: 22 ноября 2010

Автор: Аноним

Комментарии: 4

Комментарии: 4

  1. Вы жестоко ошибаетесь на счёт цифры в параметре swappiness. Чем меньше это число, тем больше ядро старается избегать использования свопа и наоборот. И да, чтобы не "Разумеется, это надо делать при каждой загрузке системы", запишем параметр в сисконтрол:
    # cat /etc/sysctl.conf|grep swappiness
    vm.swappiness=10
    означает, что ядро постарается практически не использовать своп.

  2. Всё выше сказанное к тому, что в статье вы сами себе противоречите.
    "echo 95 > /proc/sys/vm/swappiness (агрессивное использование свопа)"
    "vm.swappiness=5" (избегание свопа)

  3. Да просто тупые блогеры занимаются перепостами.. сами головой не думают...

Оставить комментарий

*

Комментарий:

Ваш e-mail не будет опубликован.
Обязательные поля помечены *

Разрешенные HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>