В 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 также хорошо коррелирует с реальной практикой.

Другие вопросы по тегам