Запустив top, htop, uptime и т. Д., Мы можем видеть среднее значение загрузки в виде трех значений, указывающих среднюю нагрузку за последние 1/5/15 минут ( ну, не совсем , но здесь вопрос не в этом).
Иногда я замечаю, что у меня достаточно высокая средняя нагрузка за последние 15 минут, но текущая нагрузка очень низкая. Существует ли утилита / программа, которая может перечислить процессы (даже если они больше не существуют), которые потребляли наибольшее количество процессорного времени за последние 1/5/15 минут (или какой-либо другой подобный период)?
Я знаю, что средняя нагрузка также может быть вызвана процессами, ожидающими ввода-вывода, но я в основном заинтересован в том, чтобы увидеть наиболее загруженные процессором приложения (хотя было бы неплохо увидеть исторические операции ввода-вывода).
Насколько я знаю, запуск htop и сортировка по времени не могут мне помочь, поскольку, если компьютер был включен некоторое время, верхние значения не обязательно будут иметь какое-либо отношение к недавнему прошлому.
Ответы:
Я предлагаю использовать
atop
. Это демон, собирающий всю «верхнюю» информацию каждые 10 минут по умолчанию, и вы можете просто вернуться в прошлое, просматривая эти «верхние» снимки. Настройте интервал по умолчанию в соответствии с вашими потребностями (занимает больше места на диске, если установлен чаще).Буквально вчера я ответил на аналогичный вопрос , в который я включил очень краткое практическое руководство.
источник
atop
информация может помочь угадать, как значения нагрузки составляются (суммируются)? Другими словами, что этот алгоритм (изhtop
) делает, чтобы составить среднее значение нагрузки и почему он не отображается для процесса? (Я думаю, что это может заслуживать новой темы?)Судя по указанию htop, я предполагаю, что вы используете Linux.
Вы можете взглянуть на утилиту sar , которая часто используется в Solaris, но я редко видел ее в Linux. Он способен записывать активность системы в течение дня, а затем сообщать о ней с различными интервалами. Вы также можете посмотреть на Orca, но статистика данных по-прежнему для каждой системы.
Если вам требуются данные для каждого процесса, очевидно, есть платные продукты, например TeamQuest .
источник
Если вы не настроили инструмент сбора данных, ответ - нет, такой встроенной утилиты, которая бы регистрировала использование различных ресурсов, нет.
С другой стороны, каждая установка Linux поставляется с утилитой sar, которая затрагивает тему, о которой вы говорите. Я не буду вдаваться в подробности того, как вы собираете данные и как вы извлекаете эти данные для составления отчетов, поскольку потребности каждого сервера и каждой организации различны.
Войдите на свой сервер и начните читать справочную страницу
sar
команды. Затем выполните поиск в Google о том, как эффективно использовать sar. И в скором времени вы сможете настроить свою утилиту сбора данных. Когда вы сталкиваетесь с проблемой, вы просто копаетесь в журналы sar за указанный период времени и выясняете, какой ресурс использовался выше обычного и т. Д.Это неоценимый инструмент, чтобы убедить руководство инвестировать деньги в покупку / модернизацию оборудования, если вы постоянно увеличиваете коэффициент использования 75% или более, и нет другого способа доказать это им. Даже если я не ошибаюсь, существуют даже превосходные макросы для создания графических (читай как для руководства) отчетов из необработанных данных sar.
источник