Сервер отказывается использовать раздел подкачки
Мы используем сервер с 23 ядрами (cpuinfo показывает 22 как самое большое число процессов) и 66 ГБ ОЗУ. Команда разработчиков запускает несколько приложений, которые загружают память.
Я заметил, что: 1. Даже когда память работает очень мало (свободная память = 167 МБ), использование подкачки не используется. Хотите знать, почему сервер отказывается использовать своп. Есть идеи по этому поводу? 2. Иногда нагрузка на систему увеличивается до 70 и более, я вижу, что эти приложения интенсивно работают с вводом / выводом. Может ли это привести к таким высоким средним значениям нагрузки?
Вот вывод из VMstat
procs ----------- память ---------- --- своп-- ----- io ---- - система-- ----- процессор ------ r b swpd свободный буферный кеш si, так что би бо в cs us sy id wa st 3 0 0 28932 1049 31757 0 0 6 145 6 33 1 0 98 0 0 .. .. 12 2 0 167 1876 57749 0 0 932 49604 2306 96856 26 8 58 7 0
Выход из meminfo
MemTotal: 66000044 кБ MemFree: 11824808 кБ Буферы: 1498068 кБ Кэшированный: 48842440 кБ SwapCached: 0 кБ Активный: 5350660 кБ Неактивно: 46810284 кБ Высокий итог: 0 кБ HighFree: 0 кБ LowTotal: 66000044 кБ LowFree: 11824808 кБ SwapTotal: 131074324 кБ SwapFree: 131074324 кБ Грязный: 2641608 кБ Обратная запись: 96 кБ AnonPages: 1819092 кБ Сопоставлено: 766660 КБ Плита: 1753100 кБ PageTables: 131908 КБ NFS_Unstable: 0 кБ Отказов: 0 кБ CommitLimit: 164074344 кБ Committed_AS: 9460100 КБ VmallocTotal: 34359738367 кБ VmallocUsed: 336508 кБ VmallocChunk: 34359401823 кБ HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 Огромный размер: 2048 кБ
1 ответ
Вы читаете это неправильно и почти не используете свою память.
MemTotal: 66000044 kB = 63GB available to the system
MemFree: 11824808 kB = 11GB with nothing at all used.
Buffers: 1498068 kB = 1.4GB
Cached: 48842440 kB = 46GB of data from the drive that is kept in otherwise unoccupied memory
SwapCached: 0 kB
Active: 5350660 kB = 5.1GB of memory that is actually used by applications.
Когда вы читаете данные с диска, они попадают в память. Если больше ничего не конкурирует за память, этот файл остается в памяти, пока приложение не попытается использовать пространство. Всякий раз, когда файл читается с диска, сначала проверяется кэш.
Вы едва используете свою память для приложений, и даже с кешем у вас есть много оставшейся памяти для работы. Ваш сервер не должен использовать пространство подкачки с этим индикатором загрузки памяти.