У меня есть Linux VPS, который имеет 256 МБ памяти (хотя free находит только 248). Тем не менее, кажется, у меня все еще есть 85 МБ свободного места, но это обмен на 255 МБ. Почему это?

free -m

              total       used       free     shared    buffers     cached
Mem:           248        245          3          0         41         40
-/+ buffers/cache:        163         85
Swap:         1971        255       1716

1 ответ1

3

У вас есть 3 МБ бесплатно, а не 85 МБ. Поскольку у вас есть 255 МБ используемой подкачки и только 88 МБ памяти, которая потенциально может быть использована для хранения данных, которые были поменяны местами, у ядра нет иного выбора, кроме как заменить не менее 167 МБ. Причина, по которой он поменялся больше, заключается в том, что ядро посчитало, что производительность была бы лучше, если бы оно использовало эту память для дискового кэша (технически, для кэширования страниц), а не для хранения данных приложения, к которым недавно не обращались.

Причина, по которой 3 МБ остаются свободными, заключается в том, чтобы обрабатывать всплески нагрузки в тех случаях, когда память не может быть легко освобождена или переназначена. Например, если есть всплеск сетевого трафика или когда завершается дисковый ввод-вывод.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .