Linux-система со 100 % используемой подкачкой и 60 % доступной оперативной памяти -это нормально?

Когда (по крайней мере вывод GNU)grepне является терминалом, он буферизует свой вывод, что и вызывает поведение, которое вы видите. Вы можете отключить это либо с помощью опции GNU grep--line-buffered:

.

( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) | grep --line-buffered LINE | cat

или утилита stdbuf:

( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) | stdbuf -oL grep LINE | cat

Отключить буферизацию в канале содержит дополнительную информацию по этой теме.

1
11.06.2021, 23:49
1 ответ

Небольшой объем подкачки (1 ГБ — это мало по сравнению с 32 ГБ ОЗУ ), используемыми целиком — это нормально. Это означает, что в точности так, как это описал администратор виртуальной машины :, учитывая доступность ОЗУ, все, что попадает в подкачку, не используется, и лучше оставить это там и использовать соответствующую физическую память для более неотложных целей — будь то активные рабочие нагрузки., или дисковый кеш.

Чрезмерное использование подкачки вызывает беспокойство только в том случае, если объем подкачки велик или если страницы подкачиваются из-за нехватки памяти, и, что более важно, если операция подкачки важна, т.е. ], если vmstatпоказывает, что страницы постоянно заменяются. Это указывает на то, что система работает с перебоями, тратя время на удаление страниц только для того, чтобы снова загрузить их обратно; это происходит, когда объем оперативной памяти слишком мал для рабочей нагрузки системы.

Система, на которой я пишу это, имеет немного больше подкачки и находится в той же ситуации, что и ваша виртуальная машина:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:          32054       19405        1098        2365       11550        9827
Swap:          6410        6410           0

Интерактивная производительность в порядке, а vmstatне показывает никаких операций подкачки.

1
28.07.2021, 11:25

Теги

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