Как я могу контролировать использование памяти?

Да, из коробки. Тем не менее, я бы посоветовал избегать многого написания, sinse Ubuntu позволит вам создавать файлы с именами, которые Windows не может читать - имена с символами и странные символы. Вы сможете переименовать их позже из Ubuntu.

Затем NTFS не поддерживает права доступа к Linux, поэтому вы не сможете разместить на нем папку root или /home.

Драйвер NTFS еще не на 100% хорош.

236
задан 26 October 2010 в 23:20

90 ответов

Для визуального мониторинга общего использования ОЗУ, если вы используете Byobu, он сохранит использование вашей памяти в нижнем правом углу терминала и будет работать, пока вы находитесь в любом сеансе терминала.

Как вы можете видеть на снимке экрана, моя виртуальная машина имеет 1h3m uptime, 0.00 load, имеет 2,8 ГГц (виртуальный) процессор и 994MB (21%) оперативной памяти, доступной в системе.

4
ответ дан 31 July 2018 в 10:24

Используйте свободную команду. Например, это результат работы free -m:

total used free shared buffers cached Mem: 2012 1666 345 0 101 616 -/+ buffers/cache: 947 1064 Swap: 7624 0 7624

free -m | grep /+ вернет только вторую строку:

-/+ buffers/cache: 947 1064
21
ответ дан 31 July 2018 в 10:24
  • 1
    Спасибо, отлично выглядит. Итак, это 947 - использование памяти минус память, используемая для буферов и кешей? – Jonas 26 October 2010 в 22:54

Команда watch может быть полезна. Попробуйте watch -n 5 free отслеживать использование памяти с обновлениями каждые пять секунд.

9
ответ дан 31 July 2018 в 10:24
  • 1
    Спасибо, это было здорово! Тем не менее, я предпочел бы использовать память в одной строке, поэтому легко войти в текстовый файл. – Jonas 26 October 2010 в 22:44

Я бы использовал Cacti. Это покажет ваше использование памяти и т. Д. В течение определенного периода времени, и вы сможете проверить использование с помощью своего веб-браузера.

1
ответ дан 31 July 2018 в 10:24

Мониторинг использования памяти

Я больше согласен с одним из предыдущих сообщений, в котором упоминается как Cacti как отличный способ контролировать использование памяти. Однако, поскольку кажется, что кактусы больше не популярны в мейнстриме, есть альтернативное графическое приложение Graphite.

Графит относительно прост в установке на сервере ubuntu и для его установки вы можете проверить эту ссылку для простых процедур установки.

После того, как графит был установлен, теперь , вы можете отправлять ему метрики памяти, в зависимости от того, какой вы хотите; каждые 5 секунд, каждую минуту, каждый час ... и т. д.

Чтобы отобразить показатели памяти, как уже было предложено в предыдущих сообщениях, вы можете написать собственный скрипт с помощью системных инструментов для сбора необходимой информации о памяти. Или вы можете использовать prewritten snmp-плагин, который сделает всю работу за вас.

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

Если вы хотите вместо этого использовать плагин snmp, который уже выполняет все необходимые вычисления для вас, вот ссылка на то, что работает очень хорошо: проверьте эту ссылку .

Использование памяти мониторинга

У меня установлен snmp на всех удаленных узлах, которые я контролирую. Это позволяет мне контролировать все мои системы с одного центрального сервера (ов) без необходимости копировать или размещать плагин на удаленных узлах.

один центральный сервер (ы)

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

snmp agent

После того, как агент snmp был установлен, просто vi файл /etc/snmpd/snmpd.conf и добавьте в него следующую строку:

rocommunity (specify-a-community-string-aka-password-here)

Затем перезапустите агент snmpd, используя:

/etc/init.d/snmpd restart

Затем на вашем центральном сервере, из которого вы хотите контролировать все остальные серверы, вы можете запустить следующую команду:

$ time ./checkMemoryviaSNMP -v2 public gearman001.phs.blah.com 30 90 graphite,10.10.10.10,2003,typical WARNING: Used = [ 3.26154 GB ], Installed = [ 5.71509 GB ], PCT.Used = [ 57.069% ], Available.Memory = [ 2.00291 GB ]. Buffer = [ 137.594 MB ], Cached = [ 1.3849 GB ]. Thresholds: [ W=(30%) / C=(90%) ]. System Information = [ Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 ]. real 0m0.23s user 0m0.03s sys 0m0.02s
1
ответ дан 31 July 2018 в 10:24

Однолинейное решение и выход:

free -m | grep "Mem:"

Ниже приведен пример ожидаемого вывода:

3
ответ дан 31 July 2018 в 10:24
  • 1
    Это также позволит вам увидеть использование памяти на данный момент ... – mook765 27 September 2016 в 17:38

Однолинейное решение и выход:

  free -m |  grep "Mem:"  

Вот пример ожидаемого вывода:

3
ответ дан 2 August 2018 в 04:22

Использование памяти мониторинга

Я больше согласен с одним из предыдущих сообщений, в котором упоминается как Cacti как отличный способ отслеживать использование памяти. Однако, поскольку кажется, что кактусы больше не популярны в мейнстриме, есть альтернативное графическое приложение Graphite.

Графит относительно прост в установке на сервере ubuntu и для его установки вы можете проверить эту ссылку для простых процедур установки.

После того, как графит был установлен, теперь вы можете отправлять ему метрики памяти, в зависимости от того, какой вы хотите; каждые 5 секунд, каждую минуту, каждый час ... и т. д.

Чтобы вычислить показатели памяти, как уже было предложено в предыдущих сообщениях, вы можете написать свой собственный скрипт с помощью системных инструментов для сбора необходимой информации о памяти. Или вы можете использовать prewritten snmp-плагин, который сделает всю работу за вас.

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

Если вы хотите вместо этого использовать плагин snmp, который уже выполняет все необходимые вычисления для вас, вот ссылка на хорошо работающую: checkMemoryviaSNMP .

Плюсы SNMP:

У меня есть snmp, установленный на всех удаленных узлах, которые я контролирую. Это позволяет мне контролировать все мои системы с одного центрального сервера (ов) без необходимости копировать или размещать плагин на удаленных узлах.

Недостатки SNMP:

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

Конфигурация агента SNMP на удаленных узлах (узлах): [ ! d16]

После того, как агент snmp был установлен, просто vi файл /etc/snmpd/snmpd.conf и добавьте в него эту строку:

  rocommunity (указать-сообщество  -string-aka-password-here)  

Затем перезапустите агент snmpd с помощью:

  /etc/init.d/snmpd restart  

Затем на вашем центральном сервере, из которого вы хотите контролировать все остальные серверы, вы можете запустить следующую команду:

  $ time ./checkMemoryviaSNMP -v2  public gearman001.phs.blah.com 30 90 графит, 10.10.10.10.2003, типичный ПРЕДУПРЕЖДЕНИЕ: Используется = [3.26154 GB], Установлено = [5.71509 GB], PCT.Used = [57.069%], доступно.Memory = [2.00291  GB].  Buffer = [137.594 MB], Cached = [1.3849 GB].  Пороги: [W = (30%) / C = (90%)].  Системная информация = [Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 # 1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64].  real 0m0.23s пользователь 0m0.03s sys 0m0.02s  
1
ответ дан 2 August 2018 в 04:22

Я использовал бы Cacti . Это покажет ваше использование памяти и т. Д. В течение определенного периода времени, и вы сможете проверить использование с помощью своего веб-браузера.

1
ответ дан 2 August 2018 в 04:22

Команда watch может быть полезна. Попробуйте смотреть -n 5 бесплатно для отслеживания использования памяти с обновлениями каждые пять секунд.

9
ответ дан 2 August 2018 в 04:22

Используйте команду free . Например, это выход из free -m :

  общее количество используемых свободных буферов кэша Mem: 2012 1666 345 0 101 616 - / + buffer / cache:  947 1064 Обмен: 7624 0 7624  

free -m | grep / + вернет только вторую строку:

  - / + буферы / кеш: 947 1064  
21
ответ дан 2 August 2018 в 04:22

Для визуального мониторинга общего использования ОЗУ, если вы используете Byobu , он сохранит использование вашей памяти в нижнем правом углу терминала и будет работать, пока вы находитесь в любом сеансе терминала.

Как вы можете видеть на скриншоте, моя виртуальная машина имеет 1h3m uptime, 0.00 load, имеет 2,8 ГГц (виртуальный) процессор и 994MB (21%) оперативной памяти, доступной в системе.

Byobu in use [!d1]

4
ответ дан 2 August 2018 в 04:22

Вы можете сделать это, используя cat /proc/meminfo.

3
ответ дан 2 August 2018 в 04:22

Я думаю, что htop - лучшее решение.

  • sudo apt-get install htop

Таким образом вы заметите, какие программы используют большую часть ОЗУ. и вы можете легко закончить один, если хотите. Вот скриншот!

[!d2]

191
ответ дан 2 August 2018 в 04:22

Если вы ищете хорошую разбивку памяти, используемой каждым запущенным процессом, я бы рекомендовал проверить ps_mem.py (найденный здесь на pixelbeat.org).

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

Пример вывода:

  user @  system: ~ $ sudo ps_mem.py [sudo] пароль для пользователя: Private + Shared = RAM используется Программа 4.0 KiB + 7.5 KiB = 11.5 KiB logger 4.0 KiB + 8.0 KiB = 12.0 KiB mysqld_safe 4.0 KiB + 10.0 KiB = 14.0 KiB getty 4.0  KiB + 42,0 KiB = 46,0 KiB saslauthd (5) 48,0 KiB + 13,0 KiB = 61,0 KiB init 56,0 KiB + 27,5 KiB = 83,5 KiB memcached 84,0 KiB + 26,5 KiB = 110,5 KiB cron 120,0 KiB + 50,0 KiB = 170,0 KiB master 204,0 KiB +  107,5 KiB = 311,5 KiB qmgr 396,0 KiB + 94,0 KiB = 490,0 KiB tlsmgr 460,0 KiB + 65,0 KiB = 525,0 KiB rsyslogd 384,0 KiB + 171,0 KiB = 555,0 KiB sudo 476,0 KiB + 83,0 KiB = 559,0 KiB monit 568,0 KiB + 60,0 KiB = 628,0 KiB  freshclam 552.0 KiB  + 259,5 KiB = 811,5 KiB pickup 1.1 MiB + 80.0 KiB = 1.2 MiB bash 1.4 MiB + 308.5 KiB = 1.7 MiB fail2ban-server 888.0 KiB + 1.0 MiB = 1.9 MiB sshd (3) 1,9 MiB + 32,5 KiB = 1,9 MiB munin-node  13.1 MiB + 86.0 KiB = 13.2 MiB mysqld 147.4 MiB + 36,5 MiB = 183,9 MiB apache2 (7) -----------------------------  ---- 208.1 MiB ========================================================================================================================================================================================================  

Единственная часть, которая мне не нравится, это тот факт, что сценарий требует, чтобы требовали привилегии root. У меня еще не было возможности увидеть, почему именно так.

38
ответ дан 2 August 2018 в 04:22

Однолинейное решение и выход:

  free -m |  grep "Mem:"  

Вот пример ожидаемого вывода:

3
ответ дан 4 August 2018 в 20:53

Использование памяти мониторинга

Я больше согласен с одним из предыдущих сообщений, в котором упоминается как Cacti как отличный способ отслеживать использование памяти. Однако, поскольку кажется, что кактусы больше не популярны в мейнстриме, есть альтернативное графическое приложение Graphite.

Графит относительно прост в установке на сервере ubuntu и для его установки вы можете проверить эту ссылку для простых процедур установки.

После того, как графит был установлен, теперь вы можете отправлять ему метрики памяти, в зависимости от того, какой вы хотите; каждые 5 секунд, каждую минуту, каждый час ... и т. д.

Чтобы вычислить показатели памяти, как уже было предложено в предыдущих сообщениях, вы можете написать свой собственный скрипт с помощью системных инструментов для сбора необходимой информации о памяти. Или вы можете использовать prewritten snmp-плагин, который сделает всю работу за вас.

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

Если вы хотите вместо этого использовать плагин snmp, который уже выполняет все необходимые вычисления для вас, вот ссылка на хорошо работающую: checkMemoryviaSNMP .

Плюсы SNMP:

У меня есть snmp, установленный на всех удаленных узлах, которые я контролирую. Это позволяет мне контролировать все мои системы с одного центрального сервера (ов) без необходимости копировать или размещать плагин на удаленных узлах.

Недостатки SNMP:

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

Конфигурация агента SNMP на удаленных узлах (узлах): [ ! d16]

После того, как агент snmp был установлен, просто vi файл /etc/snmpd/snmpd.conf и добавьте в него эту строку:

  rocommunity (указать-сообщество  -string-aka-password-here)  

Затем перезапустите агент snmpd с помощью:

  /etc/init.d/snmpd restart  

Затем на вашем центральном сервере, из которого вы хотите контролировать все остальные серверы, вы можете запустить следующую команду:

  $ time ./checkMemoryviaSNMP -v2  public gearman001.phs.blah.com 30 90 графит, 10.10.10.10.2003, типичный ПРЕДУПРЕЖДЕНИЕ: Используется = [3.26154 GB], Установлено = [5.71509 GB], PCT.Used = [57.069%], доступно.Memory = [2.00291  GB].  Buffer = [137.594 MB], Cached = [1.3849 GB].  Пороги: [W = (30%) / C = (90%)].  Системная информация = [Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 # 1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64].  real 0m0.23s пользователь 0m0.03s sys 0m0.02s  
1
ответ дан 4 August 2018 в 20:53

Я использовал бы Cacti . Это покажет ваше использование памяти и т. Д. В течение определенного периода времени, и вы сможете проверить использование с помощью своего веб-браузера.

1
ответ дан 4 August 2018 в 20:53

Команда watch может быть полезна. Попробуйте смотреть -n 5 бесплатно для отслеживания использования памяти с обновлениями каждые пять секунд.

9
ответ дан 4 August 2018 в 20:53

Используйте команду free . Например, это выход из free -m :

  общее количество используемых свободных буферов кэша Mem: 2012 1666 345 0 101 616 - / + buffer / cache:  947 1064 Обмен: 7624 0 7624  

free -m | grep / + вернет только вторую строку:

  - / + буферы / кеш: 947 1064  
21
ответ дан 4 August 2018 в 20:53

Для визуального мониторинга общего использования ОЗУ, если вы используете Byobu , он сохранит использование вашей памяти в нижнем правом углу терминала и будет работать, пока вы находитесь в любом сеансе терминала.

Как вы можете видеть на скриншоте, моя виртуальная машина имеет 1h3m uptime, 0.00 load, имеет 2,8 ГГц (виртуальный) процессор и 994MB (21%) оперативной памяти, доступной в системе.

Byobu in use [!d1]

4
ответ дан 4 August 2018 в 20:53

Вы можете сделать это, используя cat /proc/meminfo.

3
ответ дан 4 August 2018 в 20:53

Я думаю, что htop - лучшее решение.

  • sudo apt-get install htop

Таким образом вы заметите, какие программы используют большую часть ОЗУ. и вы можете легко закончить один, если хотите. Вот скриншот!

[!d2]

191
ответ дан 4 August 2018 в 20:53

Если вы ищете хорошую разбивку памяти, используемой каждым запущенным процессом, я бы рекомендовал проверить ps_mem.py (найденный здесь на pixelbeat.org).

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

Пример вывода:

  user @  system: ~ $ sudo ps_mem.py [sudo] пароль для пользователя: Private + Shared = RAM используется Программа 4.0 KiB + 7.5 KiB = 11.5 KiB logger 4.0 KiB + 8.0 KiB = 12.0 KiB mysqld_safe 4.0 KiB + 10.0 KiB = 14.0 KiB getty 4.0  KiB + 42,0 KiB = 46,0 KiB saslauthd (5) 48,0 KiB + 13,0 KiB = 61,0 KiB init 56,0 KiB + 27,5 KiB = 83,5 KiB memcached 84,0 KiB + 26,5 KiB = 110,5 KiB cron 120,0 KiB + 50,0 KiB = 170,0 KiB master 204,0 KiB +  107,5 KiB = 311,5 KiB qmgr 396,0 KiB + 94,0 KiB = 490,0 KiB tlsmgr 460,0 KiB + 65,0 KiB = 525,0 KiB rsyslogd 384,0 KiB + 171,0 KiB = 555,0 KiB sudo 476,0 KiB + 83,0 KiB = 559,0 KiB monit 568,0 KiB + 60,0 KiB = 628,0 KiB  freshclam 552.0 KiB  + 259,5 KiB = 811,5 KiB pickup 1.1 MiB + 80.0 KiB = 1.2 MiB bash 1.4 MiB + 308.5 KiB = 1.7 MiB fail2ban-server 888.0 KiB + 1.0 MiB = 1.9 MiB sshd (3) 1,9 MiB + 32,5 KiB = 1,9 MiB munin-node  13.1 MiB + 86.0 KiB = 13.2 MiB mysqld 147.4 MiB + 36,5 MiB = 183,9 MiB apache2 (7) -----------------------------  ---- 208.1 MiB ========================================================================================================================================================================================================  

Единственная часть, которая мне не нравится, это тот факт, что сценарий требует, чтобы требовали привилегии root. У меня еще не было возможности увидеть, почему именно так.

38
ответ дан 4 August 2018 в 20:53

Однолинейное решение и выход:

  free -m |  grep "Mem:"  

Вот пример ожидаемого вывода:

3
ответ дан 6 August 2018 в 04:27

Использование памяти мониторинга

Я больше согласен с одним из предыдущих сообщений, в котором упоминается как Cacti как отличный способ отслеживать использование памяти. Однако, поскольку кажется, что кактусы больше не популярны в мейнстриме, есть альтернативное графическое приложение Graphite.

Графит относительно прост в установке на сервере ubuntu и для его установки вы можете проверить эту ссылку для простых процедур установки.

После того, как графит был установлен, теперь вы можете отправлять ему метрики памяти, в зависимости от того, какой вы хотите; каждые 5 секунд, каждую минуту, каждый час ... и т. д.

Чтобы вычислить показатели памяти, как уже было предложено в предыдущих сообщениях, вы можете написать свой собственный скрипт с помощью системных инструментов для сбора необходимой информации о памяти. Или вы можете использовать prewritten snmp-плагин, который сделает всю работу за вас.

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

Если вы хотите вместо этого использовать плагин snmp, который уже выполняет все необходимые вычисления для вас, вот ссылка на хорошо работающую: checkMemoryviaSNMP .

Плюсы SNMP:

У меня есть snmp, установленный на всех удаленных узлах, которые я контролирую. Это позволяет мне контролировать все мои системы с одного центрального сервера (ов) без необходимости копировать или размещать плагин на удаленных узлах.

Недостатки SNMP:

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

Конфигурация агента SNMP на удаленных узлах (узлах): [ ! d16]

После того, как агент snmp был установлен, просто vi файл /etc/snmpd/snmpd.conf и добавьте в него эту строку:

  rocommunity (указать-сообщество  -string-aka-password-here)  

Затем перезапустите агент snmpd с помощью:

  /etc/init.d/snmpd restart  

Затем на вашем центральном сервере, из которого вы хотите контролировать все остальные серверы, вы можете запустить следующую команду:

  $ time ./checkMemoryviaSNMP -v2  public gearman001.phs.blah.com 30 90 графит, 10.10.10.10.2003, типичный ПРЕДУПРЕЖДЕНИЕ: Используется = [3.26154 GB], Установлено = [5.71509 GB], PCT.Used = [57.069%], доступно.Memory = [2.00291  GB].  Buffer = [137.594 MB], Cached = [1.3849 GB].  Пороги: [W = (30%) / C = (90%)].  Системная информация = [Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 # 1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64].  real 0m0.23s пользователь 0m0.03s sys 0m0.02s  
1
ответ дан 6 August 2018 в 04:27

Я использовал бы Cacti . Это покажет ваше использование памяти и т. Д. В течение определенного периода времени, и вы сможете проверить использование с помощью своего веб-браузера.

1
ответ дан 6 August 2018 в 04:27

Команда watch может быть полезна. Попробуйте смотреть -n 5 бесплатно для отслеживания использования памяти с обновлениями каждые пять секунд.

9
ответ дан 6 August 2018 в 04:27

Используйте команду free . Например, это выход из free -m :

  общее количество используемых свободных буферов кэша Mem: 2012 1666 345 0 101 616 - / + buffer / cache:  947 1064 Обмен: 7624 0 7624  

free -m | grep / + вернет только вторую строку:

  - / + буферы / кеш: 947 1064  
21
ответ дан 6 August 2018 в 04:27

Для визуального мониторинга общего использования ОЗУ, если вы используете Byobu , он сохранит использование вашей памяти в нижнем правом углу терминала и будет работать, пока вы находитесь в любом сеансе терминала.

Как вы можете видеть на скриншоте, моя виртуальная машина имеет 1h3m uptime, 0.00 load, имеет 2,8 ГГц (виртуальный) процессор и 994MB (21%) оперативной памяти, доступной в системе.

Byobu in use [!d1]

4
ответ дан 6 August 2018 в 04:27