Дополнительно
Как я могу контролировать использование памяти?
Я использовал top
для просмотра использования памяти в данный момент. Но я хотел бы отслеживать использование памяти в течение определенного периода времени. Например, запустить мониторинг, затем выполнить несколько команд, а затем остановить мониторинг и посмотреть, сколько памяти было использовано за этот период.
Как я могу сделать это на Ubuntu Server?
Думаю, я могу запускать cronjob каждые 5 секунд или около того, и вызывать команду, которая записывает текущее использование памяти в текстовый файл. Но какую команду я должен использовать, чтобы получить текущее использование памяти в формате, удобном для записи в текстовый файл?
266
10
Я рекомендую объединить предыдущие ответы
Обратите внимание, что Linux любит использовать любую дополнительную память для кэширования блоков жесткого диска. Поэтому вы не хотите смотреть только на свободную
Mem
. Вы хотите посмотреть насвободный
столбец строки-/+ буферы/кэш:
. Это показывает, сколько памяти доступно приложениям. Поэтому я просто запустилfree -m
и получил следующее:Я знаю, что я использую 1528 МБ и имею 2170 МБ свободной памяти.
Примечание: Чтобы остановить этот
часовой
цикл, вы можете просто нажать Ctrl+C.Я думаю, что
при
- лучшее решение.судо apt-получить установку при
Таким образом, Вы заметите, какие программы используются наиболее оперативной памяти. и вы можете легко завершить, если вы хотите. Здесь'ы скриншот!
Если вы ищете хороший расстройство памяти, используемый каждым запущенным процессом, то я бы порекомендовал проверить ps_mem.py (найти здесь в pixelbeat.org).
Я знаю, что в комментариях выше, вы упомянули, желая одного-линии снимка от **** бесплатно, но я полагал, что другие могут найти это полезным.
Пример вывода:
Единственная часть, которую я не'т нравится, так это то, что скрипт утверждает, требуют привилегий суперпользователя. Я еще'т получил возможность еще точно понять, почему это так.
Используйте команду free. Например, вот результат команды
free -m
:free -m | grep /+
вернет только вторую строку:Команда watch может оказаться полезной. Попробуйте команду
watch -n 5 free
для мониторинга использования памяти с обновлениями каждые пять секунд.Вы можете сделать это с помощью
кошка /proc/meminfo
.Для визуального контроля общего использования оперативной памяти, если вы используете Бебу, он будет держать ваш памяти в правом нижнем углу терминала и будет работать, пока вы находитесь в любой терминальной сессии.
Как вы можете видеть из скриншота, моя виртуальная машина имеет аптайм 1h3m, 0.00 нагрузки, имеет процессор с тактовой частотой 2,8 ГГц (виртуальной) и 994MB (21%) ОЗУ, доступного в системе.
Единое решение и выход:
Вот пример ожидаемого выхода:
Я хотел бы использовать кактусы. Это график использования памяти и т. д. В течение определенного периода времени, и вы сможете проверить на использование через веб-браузер.
Мониторинг Использования Памяти
Я'м больше, в соответствии с одним из предыдущих постов, что упомянутые кактусы как отличный способ для мониторинга использования памяти. Однако, так как оказалось, кактусы уже не популярен в мейнстриме, существует альтернатива применение графиков под названием Graphite.
Графит является относительно легко установить на сервер Ubuntu и, чтобы установить его, вы можете проверить эту ссылку]1 Для легко следовать процедуре установки.
После графита была установлена, теперь вы можете отправить показатели памяти к нему, в зависимости от того интервала, который вы хотите; каждые 5 секунд, каждую минуту, каждый час...и т. д.
На графике показатели памяти, как уже отмечалось в предыдущих постах, вы можете написать свой собственный сценарий, используя системные инструменты для сбора необходимой информации память. Или, вы можете использовать заготовки плагин SNMP, который'сделаем всю работу за вас.
Если вы хотите написать свой собственный скрипт, он'll быть мудрым, чтобы обеспечить вам счет на буфер и кэш-памяти при расчете используемой памяти, в противном случае, вы'll итоге сбор ложные сведения.
Если вы хотите использовать плагин SNMP, который уже делает все необходимые расчеты для вас, здесь'ы ссылку на тот, который работает очень хорошо: checkMemoryviaSNMP.
Плюсы СНМП:
У меня есть SNMP, установленные на всех удаленных узлов монитора. Это позволяет мне контролировать все свои системы от один центральный сервер(ы), без необходимости копирования или поставить плагин на удаленных узлах.
Минусы СНМП:
Вы'd должны обеспечить SNMP-агент устанавливается на каждом из удаленных узлов, который вы хотите контролировать память. Однако, эта установка будет разовая сделка. Если вы're с помощью средств автоматизации, таких как Chef или Puppet или подобные инструменты в своей среде, то это вовсе'т проблема.
Конфигурация SNMP агента на удаленном узле(ы):
После SNMP-агент был установлен, просто ви в /etc/snmpd будет/snmpd будет.файл conf и добавьте в него:
Затем перезапустите агент snmpd будет с:
Затем, на центральный сервер, который вместо вас отслеживать все ваши другие сервера, вы можете запустить следующую команду: