Arch Linux перестает отвечать на запросы от хугепагед

8

Я большой пользователь VMware Workstation 10.0.3, и поэтому у меня 32 ГБ ОЗУ в моей системе. Моя единственная операционная система - Arch Linux, использующая Unity для рабочего стола.

Обычно, когда у меня есть две виртуальные машины, на которых назначено около 3 ГБ ОЗУ, очень часто и через случайные интервалы вся система перестает отвечать на запросы в течение нескольких секунд.

Запустив top в терминале, виновником, по-видимому, является команда khugepaged, которая запускается, когда система не отвечает на 100% ЦП, а затем исчезает.

Есть ли способ избежать этого? Я погуглил о khugepaged, но мне кажется, я нахожу только древние посты 2011 года или оставшиеся без ответа вопросы.

Вот мои полные системные характеристики:

  • Процессор: Intel i5 4570 @ 3.2 ГГц
  • 32 ГБ Corsair Vengeance RAM @ 2400 МГц
  • M / B ASrock Z87 Pro 4
Ангелос Кирицис
источник
Каковы ваши настройки свопа? Подобные зависания часто связаны с использованием свопов. Можете ли вы проверить своп в следующий раз, когда он зависает? Он зависает только при активной замене?
Terdon
Почему он должен поменяться с 32 ГБ оперативной памяти? Это далеко не исчерпывает физическую оперативную память. У меня есть небольшой раздел подкачки объемом 1 ГБ, так как он находится на SSD, и я не хотел тратить впустую недвижимость. Я не изменил swappiness, я думаю, что это по умолчанию.
Ангелос Кирицис
Ну, для arch по умолчанию задано значение 60, что означает, что он начнет менять задолго до исчерпания ОЗУ. Я не говорю, что это обмен точно, но это кажется вероятным. Попробуйте установить меньшее значение.
Тердон
Хорошо, я установил это на 5. Я сообщу, если это имело значение.
Ангелос Кирицис

Ответы:

10

У меня похожая проблема на Ubuntu. Обходной путь, который я использую:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag

Источником обходного пути является сообщение об ошибке в Fedora «khugepaged съедая 100% CPU» . Ошибка никогда не была исправлена.

Это менее радикально, чем отключение всей transparent_hugepageподдержки. Подробное объяснение того, что делает команда, можно найти в документации по поддержке прозрачной огромной страницы .

Павел Ясинский
источник
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag; echo 0 | sudo tee /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
Тревиньо
@ Treviño, могу я спросить, в чем разница с тем, что предлагает автор ответа: зачем его использовать | sudo teeвместо >?
Joma
1
@ Joma the sudo echo $value > outputне работает в Ubuntu, вам нужно использовать teeхитрость или сделать это из sudo -sоболочки.
Тревиньо
Серьезно, я люблю тебя за это, @ pawel-jasinski - впервые за 5 лет я могу по-настоящему РАБОТАТЬ с VMware без того, чтобы он регулярно зависал как на хост-компьютере, так и на гостевой ОС.
Саймон Эугстер
1
@Joma Первая команда должна быть запущена из корневой оболочки. С sudo echo X > Y, только echo Xзапускается от имени root, но > Y(прямой вывод в файл) - нет.
Саймон Эугстер
1

Возможно, проблема в khugepaged, попробуйте следующее:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

это помогло мне решить эту проблему в недавнем арке Linux ...

ArchUser
источник
4
Привет и добро пожаловать на сайт! Мы ожидаем, что ответы будут более подробными здесь. Не могли бы вы отредактировать свой ответ и объяснить, что делает предложенная вами команда и как она может помочь?
Terdon
1
@ArchUser также, если вы не уверены, что это решение, пожалуйста, оставьте комментарий.
vfbsilva