Как отслеживать и регистрировать использование памяти / процессора процессами в течение времени? [закрыто]

Я ищу способ диагностировать проблемы, такие как смерть swap, когда процесс balooning памяти заполняет swap и убивает всю машину (например, apache).

Я уже использую cacti и могу установить nagios (хотя предпочел бы этого не делать) или munin, но, насколько я могу судить, они не могут регистрировать использование отдельных программ - только общий статус.

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

Опять же, в идеале он должен:

  • записывать использование памяти процессами каждые N секунд
  • записывать использование CPU процессами каждые N секунд
  • поддерживать графики и историю
  • поддерживать средние значения - например, mysqld использовал 43% CPU за последний день и в среднем 400MB памяти
  • быть бесплатным и с открытым исходным кодом

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

Моя система - Linux (OpenSUSE).

30
задан 27 April 2015 в 02:01
11 ответов

Это Вы хотите просто главных преступников, рассматривают выполнение top с относительно длинным интервалом (60 секунд плюс) в пакетном режиме. Вам, возможно, понадобится больше чем один top выполнение для получения главных преступников на нескольких ресурсах. Я настроил системы для выполнения top для нескольких циклов, когда ресурс был по используемому.

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

Выполненный munin и включите уведомления. Это может дать Вам шанс войти и следить за потерей работоспособности сервера. Вы можете исправлять проблему, прежде чем она понизится.

Для утечек памяти устойчивое увеличение использования подкачки указывает на проблему. Я когда-то наблюдал, что сервер медленно перестал работать в течение дней. Сервис задач был программой, контролирующей другие процессы для утечек памяти. Системный администратор продолжал настаивать, что увеличивающееся использование подкачки не было проблемой, до тех пор, пока сервер не прекратил отвечать.

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

16
ответ дан 28 November 2019 в 19:58

sysstat сделан в значительной степени точно для Вашего вида цели.

12
ответ дан 28 November 2019 в 19:58

Я использовал на прежде:

http://freshmeat.net/projects/atop/

"На полноэкранный монитор производительности ASCII, который способен к созданию отчетов о действии всех процессов (даже если процессы закончились во время интервала), ежедневно журналирование системы, и обработайте действие для долгосрочного анализа, выделения перегруженных системных ресурсов при помощи цветов, и т.д. Равномерно, это показывает действие системного уровня, связанное с ЦП, памятью, подкачкой, дисками и сетевыми уровнями, и для каждого активного процесса это показывает загрузку ЦП, рост памяти, приоритет, имя пользователя, состояние и код выхода".

9
ответ дан 28 November 2019 в 19:58

Вы попробовали collectd?
Это очень мощно и настраиваемо.
Имеет много плагинов и мог быть интегрирован с nagios.

http://collectd.org/features.shtml

6
ответ дан 28 November 2019 в 19:58

Centreon сверху Nagios, Nagios вместе с NRPE. Можно затем записать пользовательские сценарии для создания отчетов о данных в ЛЮБОМ формате, которого Вы желаете к NRPE. Nagios затем опрашивает данные из удаленных серверов с NRPE, и Centreon делает симпатичный график и добавляет тонну пользовательской гибкости. Мы используем его по http://beyondhosting.net, у меня уже есть шаблон VZ Container с установкой centreon+nagios, если Вы хотите это.

Графики centreon создают hostthenpost.org/tyler/2010-07-23_1719.png

2
ответ дан 28 November 2019 в 19:58

nmon является большим инструментом, который делает то, что Вы ищете. Разработанный для AIX и Linux. Производит тонну подробного результата и легкий поместить в отчеты. При поиске с помощью Google его существует Wiki IBM, которая имеет набор документации и дополнительных утилит для парсинга данных.

2
ответ дан 28 November 2019 в 19:58

Плотность сервера делает точно, что Вы описываете.

Я использую его на одном из наших рабочих серверов, и очень довольно этим. Это - главная функция, способность просмотреть диаграммы, нажать на пик и видеть сервер ЦП/потребление памяти в то текущее время, включая все рабочие процессы. Они звонят, это создает снимки.

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

2
ответ дан 28 November 2019 в 19:58

http://studyhat.blogspot.com/2010/08/user-activity-view-processes-display.html

имейте взгляд выше, связывают маленький код, который выделяет Вас помещенный CPU памяти и т.д.

2
ответ дан 28 November 2019 в 19:58

Ответы предложили, когда я задал подобный вопрос:

Icapan сказанный:

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

David Spillet сказанный:

Я использую collectd для записи системной нагрузки среди многих других параметров. Это хранит данные в хранилищах RRD, которые могут быть изображены в виде графика и иначе проанализировали использование многих доступных инструментов и сценариев. Я использую измененную версию этого сценария для моего построения графика (демонстрационный вывод).

Collectd имеет плагины для контроля большого количества материала (все обычно просившее и несколько вещей на вершине), и создание Вашего собственного не должно быть трудным при необходимости в чем-то специализированном поэтому делает для очень гибкого инструмента. Конфигурирование графиков в rrd.cgi является очень ручным процессом, хотя не трудный, хотя Вы могли бы хорошо найти более удобный инструмент для работы с файлами RRD сохраняемым collectd.

Вы могли бы также проверить Nagios или OpenNMS, также.

2
ответ дан 28 November 2019 в 19:58

Munin сделает все из того, в чем Вы нуждаетесь из поля, не требуя Nagios или любого другого инструмента. Существуют RPMs доступный для OpenSUSE.

1
ответ дан 28 November 2019 в 19:58
  • 1
    Делает это делает это с плагином. Если так, который? Я не смог найти тот, который не требует, чтобы предварительно сконфигурированный список процессов контролировал. –  Artem Russakovskii 26 July 2010 в 19:31

Возможно, старый добрый OProfile делает то, в чем Вы нуждаетесь? Это - основанный на ядре профилировщик системного уровня только с маленькими (несколькими процентами) наверху.

Затем существует превосходный сценарий Perl, PSMon, который позволяет Вам настраивать весь вид пределов ЦП/памяти. Если они будут превышены, то psmon зарегистрирует ошибку и/или уничтожит незаконный процесс.

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

1
ответ дан 28 November 2019 в 19:58

Теги

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