Как изменить время ожидания демона подкачки ядра Linux (kswapd)? - PullRequest
3 голосов
/ 22 марта 2012

Я хочу сократить тайм-аут kswapd, чтобы повысить производительность, используя быстрые устройства, такие как Flash и SSD, в качестве устройств подкачки.

1 Ответ

1 голос
/ 22 марта 2012

Вы можете изменить поведение kswapd двумя способами

Через файловую систему Proc

С IBM Developerworks ,

/ proc / sys / vm / kswapd

  1. Максимальное количество страниц, которые ядро ​​пытается освободить за один раз.Если вы хотите увеличить пропускную способность до / из свопа, вам нужно увеличить это число.

  2. Минимальное количество попыток ядра освободить страницу при каждом свопе.

  3. Количество страниц, которые ядро ​​может записать за один обмен.Это оказывает наибольшее влияние на производительность системы.Чем больше значение, тем больше данных можно поменять местами и тем меньше времени тратится на поиск диска.Однако слишком большое значение будет отрицательно влиять на производительность системы из-за заполнения очереди запросов

через код ядра

kswapd (void * p) вызывает kswapd_try_to_sleep () . Вот где демон kswapd пытается уснуть.Вот так -

schedule_timeout(HZ/10) /* You need to modify here to change the timeout value */

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

Настроить код ядра, собрать и протестировать его - непростая задача.Поэтому я предлагаю вам пойти по пути /proc файловой системы!

...