Как получить хороший обзор Использования оперативной памяти

Я установил Ubuntu 14.10 на сервере. Сервер основная задача выполняет установку MongoDB наряду с несколькими приложениями NodeJS. Приложения NodeJS будут работать непрерывно и примут запросы снаружи.

Время от времени большие запросы прибудут в то, чтобы заставлять некоторое приложение NodeJS использовать много RAM в течение короткого срока. Я пытался контролировать это, но не уверено, что сделать из моих результатов.

До сих пор я использовал две команды для получения понимания в Использовании оперативной памяти. Это

free -m

и

sudo htop

Первые шоу это:

                        total       used       free     shared    buffers     cached                                           
Mem:                     3442       3158       283          6        111       1203                                           
-/+ buffers/cache:                  1842       1599                                                                         
Swap:                    0          0          0    

Когда я смотрю на это, я сказал бы, что приблизительно 280 МБ RAM свободны. Который не походит на много.

htop говорит мне следующее:

  1  [|||                                         0.8%]     Tasks: 61, 129 thr; 2 running
  2  [|||                                         1.0%]     Load average: 1.16 1.15 0.93
  Mem[|||||||||||||||||||||||||||||||||||||1979/3442MB]     Uptime: 29 days, 00:23:31
  Swp[                                           0/0MB]   

Я не делаю действительно теперь, как считать это. Кто-либо может помочь мне здесь?

Я предполагаю, что мой вопрос в конце сводится к ним:

  • Как я могу получить некоторое понимание в том, сколько RAM доступно?
  • Когда Оперативная память слишком мало? 300 МБ рассматривают очень мало? Опасно так?
2
задан 1 May 2015 в 16:14

2 ответа

TL; DR: Вы не должны волноваться пока -/+ buffers/cache, строка показывает достаточно свободной памяти. Если это показывает низкую свободную память, и Вы непрерывно swap плетеная корзинка к диску тогда, Вы должны быть заинтересованы.

Объяснение:

Вы хороши со своим текущим сценарием Использования оперативной памяти. Позволяет берут вывод free -m для разрушения его:

Все столбцы free -m сам объяснительные. Важная вещь отметить, что Вы не должны быть предупреждены, когда использование памяти высоко, не видя объема памяти, кэшируемого и буферизированного.

От вывода, Вы использовали 3 158 МБ своей RAM на 3 442 МБ, простое вычитание сказало бы, что у Вас есть только 283 МБ, свободные быть выделенными новым программам. Это не правильно, необходимо посмотреть cached и buffers, столбцы также, cached покажут монтирование дисковых данных, кэшируемых RAM для более быстрого доступа к наиболее часто используемым файлам и buffered шоу объем данных, который будет записан в диск.

, Как Вы знаете, доступ к диску намного медленнее, что RAM, так для улучшения производительности это - хорошая вещь хранить некоторые дисковые данные в RAM. У Вас есть 1 203 МБ кэшируемых и 111 МБ буферизированных данных. Это - хорошая вещь, что Ваша память кэширует эту сумму, просто не сохраняя эту сумму RAM неактивной. Это улучшит Вашу производительность значительно.

Для получения фактической суммы RAM, которая используется без кэширования/буферизации посмотрите -/+ buffers/cache: строка. Этот результат показывают, вычитая, кэшировал/буферизовал сумму. Поскольку Вы видите, что у Вас есть свободных 1 599 МБ, таким образом, все кажется хорошо в этом состоянии. Если Вы видите, что значения в этой строке являются низкими, то Вы должны быть заинтересованы и смотреть на Использование оперативной памяти.

Также примечание, что, когда новая программа должна быть запущена и нет достаточной памяти после кэширования, более старые кэши, будет очищено автоматически для создания пространства для новой программы. Так, пока фактическое использование памяти не высоко, и Ваш непрерывно подкачиваются к диску, это - хорошая вещь иметь значительное количество в кэше, поскольку это "использует" Вашу память эффективно.

2
ответ дан 2 December 2019 в 03:54

heemayl уже покрыл хорошую часть информации о фактической доступной памяти. Мое сообщение здесь является просто остротой пары, которую можно добавить к Вашему .bashrc как псевдоним для использования в качестве быстрого обзора фактического использования:

free -h | awk '/free/ {getline; x=$2; getline; print "Used "$3 " Out of " x }'

И демонстрационный вывод:

$ free -h | awk '/free/ {getline; x=$2; getline; print "Used "$3 " Out of " x  }'                                                                 
Used 1.2G Out of 5.6G

, Если Вы заинтересовали большим количеством всестороннего расследования памяти, используйте cat /proc/meminfo, который перечисляет всех из информации, и , этот блог поможет Вам понять, как free команда вычисляет материал из того файла.

0
ответ дан 2 December 2019 в 03:54

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

Похожие вопросы: