Я ищу способ диагностики проблем, таких как смерть подкачки, при которой вздувающийся процесс памяти заполняет подкачку и убивает всю машину (например, apache).
Я уже использую cacti, и я могу настроить nagios (хотя и не очень) или munin, но, насколько я могу судить, они не могут записывать использование отдельных программ - только общий статус.
Я знаю, что могу бросать скрипт, который >> в какой-то файл, каждые 30 с, но я хотел бы посмотреть, существует ли уже существующее зрелое решение.
Опять же, в идеале это будет:
- записывать использование памяти процессами каждые N секунд
- записывать использование процессора процессами каждые N секунд
- графики поддержки и история
- средние значения поддержки - как, например, mysqld использовал 43% ЦП в последний день и в среднем 400 МБ памяти
- быть свободным и открытым исходным кодом
Имена процессов не известны и не должны быть известны заранее. Идея состоит в том, чтобы просто позволить ему отслеживать, а затем взглянуть на главных нарушителей.
Моя система Linux (OpenSUSE).
linux
performance
monitoring
memory-usage
Артем Руссаковский
источник
источник
Ответы:
Если вы хотите, чтобы только лучшие нарушители, рассмотрите возможность работы
top
с относительно длинным интервалом (60 секунд плюс) в пакетном режиме. Вам может потребоваться более одногоtop
запуска, чтобы захватить главных нарушителей на нескольких ресурсах. Я настроил системы для работыtop
в течение нескольких циклов, когда ресурс был чрезмерно использован.Рассмотрите возможность работы
sar
в пакетном режиме для отслеживания использования ресурсов. Я понимаю, что это на основе сервера, но полезно определить время, когда возникают проблемы.Запустите
munin
и включите уведомления. Это может дать вам шанс войти и посмотреть, как работает сервер. Возможно, вы сможете исправить проблему, прежде чем она решится.Для утечек памяти устойчивое увеличение использования свопа указывает на проблему. Однажды я наблюдал, как сервер медленно умирает в течение нескольких дней. Проблемной службой была программа, отслеживающая другие процессы на предмет утечек памяти. Системный администратор настаивал на том, что увеличение использования свопа не было проблемой, вплоть до тех пор, пока сервер не перестал отвечать.
Вы можете обнаружить, что
cfengine
обнаружение аномалий может быть использовано для запуска сценария, который фиксирует состояние системы, когда что-то идет не так. Вам может понадобиться много информации, помимо процессов, использующих наибольшее количество ресурсов. Для внезапного притока пользователей может потребоваться список сетевых подключений (по адресу, а не по имени). Использование памяти также полезно.источник
sysstat сделан в значительной степени именно для ваших целей.
источник
Я использовал поверх:
http://freshmeat.net/projects/atop/
«Atop - это полноэкранный монитор производительности ASCII, способный отчитываться о активности всех процессов (даже если процессы завершены в течение интервала), ежедневно регистрировать активность системы и процессов для долгосрочного анализа, выделяя перегруженные системные ресурсы с помощью цвета и т. д. Через регулярные промежутки времени он показывает активность на уровне системы, связанную с процессором, памятью, подкачкой, дисками и сетевыми уровнями, и для каждого активного процесса показывает загрузку процессора, рост памяти, приоритет, имя пользователя, состояние, и код выхода. "
источник
atop -r log_filename
, нажмите,m
чтобы переключиться на представление использования памяти для каждого процесса, а затем нажмите,t
чтобы двигаться вперед с шагом 10 минут до 3:40. Вы можете прочитать больше об основах использования atop на lwn.net/Articles/387202 и посмотреть пример определения утечки памяти на atoptool.nl/download/case_leakage.pdfВы пробовали коллекционировать?
Это очень мощный и настраиваемый.
Имеет много плагинов и может быть интегрирован с nagios.
http://collectd.org/features.shtml
источник
top
.Centreon в верхней части Nagios, Nagios в сочетании с NRPE. Затем вы можете написать собственные сценарии для сообщения данных в ЛЮБОМ формате, который вы хотите использовать в NRPE. Затем Nagios опрашивает данные с удаленных серверов с помощью NRPE, а Centreon создает симпатичный график и добавляет массу пользовательских возможностей. Мы используем его на http://beyondhosting.net. У меня уже есть шаблон контейнера VZ с настройкой centreon + nagios, если вы этого хотите.
Графики Centreon строит hostthenpost.org/tyler/2010-07-23_1719.png
источник
Nmon это отличный инструмент, который делает то, что вы ищете. Разработано для AIX и Linux. Производит тонну подробного вывода и легко помещается в отчеты. Если вы гуглите, есть вики-страница IBM, в которой есть куча документации и дополнительные утилиты для анализа данных.
источник
Плотность сервера делает именно то, что вы описываете.
Я использую его на одном из наших производственных серверов и очень рад этому. Его главной особенностью является возможность просмотра графиков, щелчка по пику и просмотра потребления ЦП / памяти сервера в текущий момент времени, включая все запущенные процессы. Они называют это снимками .
Это постоянно улучшается. Одной из последних функций является обнаружение аномалий , которое позволяет легко обнаруживать аномалии. Вы также можете установить различные пороги
источник
http://studyhat.blogspot.com/2010/08/user-activity-view-processes-display.html
посмотрите выше ссылку небольшой код, который дает вам памяти процессора и т. д.
источник
Ответы предложили, когда я задал похожий вопрос :
Икапан сказал :
Дэвид Спиллет сказал :
Вы также можете проверить Nagios или OpenNMS .
источник
Munin сделает все, что вам нужно, из коробки, не требуя Nagios или какого-либо другого инструмента. Для OpenSUSE доступны RPM.
источник
Может, старый добрый OProfile делает то, что вам нужно? Это основанный на ядре профилировщик системного уровня с небольшими (пару процентов) издержками.
Тогда есть отличный Perl-скрипт PSMon , который позволяет вам устанавливать все виды ограничений ЦП / памяти. Если они превышены, psmon зарегистрирует ошибку и / или завершит процесс, вызвавший ошибку.
Последний не будет выдавать вам никаких отчетов о профилировании, но если он решит убивать один и тот же процесс снова и снова, вы, вероятно, найдете мерзкого ублюдка, которого искали. :-)
источник