В Linux: мы видим следующее: физическая, реальная, подкачка, виртуальная память - что мы должны учитывать при определении размера?
Мы используем инструмент (Whats Up Gold) для мониторинга использования памяти на Linux Box. Мы видим использование памяти (графики), связанные с:
Физическая, реальная, своп, виртуальная память и ВСЕ память (что является средним из всех этих значений).
'The ALL' Memory graphs show low memory usage of about: 10%.
But Physical memory shows as 95% used.
Swap memory shows as 2% used.
Итак, мне нужно больше памяти на этом Linux Box? Другими словами, я должен пройти мимо:
- ВСЕ График памяти (который говорит, что ситуация с памятью хорошая) ИЛИ
- График физической памяти (который говорит о плохой ситуации с памятью).
1 ответ
Реальный и Физический
Физическая память - это количество DRAM, которое используется в настоящее время. Реальная память показывает, сколько ваших приложений использует системную память DRAM. Это примерно ниже, чем физическая память. Система Linux кэширует некоторые данные на диске. Это кеширование - это разница между физической и реальной памятью. На самом деле, когда у вас есть свободная память, Linux использует ее для кэширования. Не беспокойтесь, так как ваши приложения требуют памяти, они вернут кешированное пространство обратно.
Своп и виртуальный
Swap - это дополнительное пространство для вашей фактической DRAM. Это пространство занято из дискового пространства, и как только вы заполняете приложение всей DRAM, Linux передает некоторую неиспользуемую память для подкачки, чтобы позволить всем приложениям остаться в живых. Всего подкачки и физической памяти является виртуальная память.
Вам нужна дополнительная память?
В ответ на ваш вопрос, вам нужно проверить реальную память. Если ваша реальная память заполнена, вам нужно получить немного оперативной памяти. использование free
Команда для проверки количества фактической свободной памяти. Например в моей системе free
говорит:
$ free
total used free shared buffers cached
Mem: 16324640 9314120 7010520 0 433096 8066048
-/+ buffers/cache: 814976 15509664
Swap: 2047992 0 2047992
Вам нужно проверить раздел буфер / кеш. Как показано выше, в моей системе есть реальные 15 ГБ свободной DRAM (вторая строка). Проверьте это в своей системе и выясните, нужно ли вам больше памяти или нет. Строки представляют физическую, реальную и подкачку памяти соответственно.
бесплатно -m
Что касается бесплатного инструментального анализа нехватки памяти в Linux, то у меня есть мнение, подтвержденное экспериментами (практика)
~# free -m
total used free shared buff/cache available
Mem: 2000 164 144 1605 1691 103
вы должны суммировать "использованный" + "общий" и сравнить с "общим"
остальные столбцы бесполезны просто путать и не более того
я бы сказал
[ total - (used + shared ) ] should be always at least > 200 MB
Также вы можете получить почти такой же номер, если проверите MemAvailable в meminfo:
# cat /proc/meminfo
MemAvailable: 107304 kB
MemAvailable - это то, сколько памяти Linux считает действительно свободной до того, как произойдет активная подкачка. так что теперь вы можете использовать максимум 107304 КБ. если вы потребляете больше, начинает происходить большая подкачка.
MemAvailable также хорошо коррелирует с реальной практикой.