У меня была моя первая установка KVM-хоста CentOS 7 примерно год назад, это двухъядерный четырехъядерный компьютер с 32 ГБ физической памяти. У меня работает дюжина виртуальных машин с общим объемом выделенной памяти 23 ГБ. Эта система имеет 4 ГБ подкачки, и вот текущие сведения об использовании ....
KiB Mem: 32773552 total, 32564628 used, 208924 free, 2224 buffers
KiB Swap: 4603836 total, 3262108 used, 1341728 free. 9606248 cached Mem
Я читал, что вы действительно не хотите сильно менять своп, потому что если он вообще не должен использовать своп. Я считаю, что выше показано, что сейчас используется более 3 ГБ, это нормально? У меня нет проблем с производительностью этого сервера. В настоящее время я создаю новый сервер и сравниваю, чтобы увидеть, какой объем подкачки лучше всего использовать на новом сервере, который должен иметь аналогичные нагрузки?
Это не так просто, как может показаться на первый взгляд. Неиспользуемая память - это потраченная впустую память, и Linux применяет такой подход даже к «неиспользуемой» памяти. Это означает, что память, которая фактически выделена, но какое-то время не использовалась, может быть выгружена. Предполагается, что поскольку в последнее время в этом не было необходимости, это не окажет большого влияния на производительность. Собственно, здесь есть еще один аспект. Linux пытается заранее заменить неиспользуемые части данных (пока они простаивают), сохраняя их в ОЗУ. Таким образом, оперативная память может быть освобождена почти мгновенно (когда необходимо выделить больше памяти), не оказывая влияния на производительность при получении данных из подкачки (в случае, если эти более старые данные не нужны). Это называется Swap Cache, и его можно узнать, запустив cat /proc/meminfo | grep SwapCached
).
Поведение подкачки Linux контролируется sysctl vm.swappiness
(видеть википедия). Он варьируется от 0 (без подкачки), от 1 (в последних ядрах, только при крайней необходимости) до 100 (очень агрессивно при подкачке данных).
Если ваш сервер работает нормально, без признаков проблем с производительностью, оставьте его как есть. Если вы заметили какие-либо проблемы, вы можете попробовать настроить это значение.