Почему kswapd0 работает на компьютере без свопа?

У меня есть облачный сервер с ~ 14 ГБ ОЗУ и без обмена. Тем не менее, я иногда вижу, что kswapd0 занимает некоторый процессор, когда я запускаю top. Почему kswapd0 будет запущен вообще, если нет никакого пространства подкачки для его управления?

1
задан 11 March 2014 в 22:33

1 ответ

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

15
ответ дан 24 May 2018 в 10:54
  • 1
    Например, рассмотрим случай, когда у вас есть нулевая своп, и система почти исчерпала ОЗУ. Ядро будет принимать память, например. Firefox (он может сделать это, потому что Firefox запускает исполняемый код, который был загружен с диска - код может быть загружен с диска снова при необходимости). Если Firefox затем должен снова получить доступ к этой ОЗУ через N секунд, ЦП генерирует «жесткую ошибку», который заставляет Linux освобождать некоторую ОЗУ (например, взять некоторую ОЗУ из другого процесса), загрузить отсутствующие данные с диска, а затем разрешить Firefox продолжать как обычно. Это довольно похоже на обычную замену, и kswapd0 делает это. – Mikko Rantalainen 15 February 2018 в 17:08

Другие вопросы по тегам:

Похожие вопросы: