5

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

Я объясню, что я хочу сделать, возможно, это поможет вам помочь мне.

Я хотел бы, чтобы моя машина Linux постоянно (каждые 10 минут) отслеживала все процессы на моей машине. Информация от каждого процесса, который мне требуется, - это имя, загрузка ЦП, выделенная (виртуальная) память и резидентная (оперативная) память.

Если бы эти периодические отчеты были просмотрены, они бы выглядели примерно так:

PROCESS    CPU    RAM    VIRTUAL
name1    %    MB    MB
name2    %    MB    MB
...etc..etc

Эти отчеты должны храниться таким образом, чтобы я мог получить к ним доступ позднее, указав дату / время (диапазон). Например, если я хочу видеть историю своих процессов с 12:00:00 1.12.12 до 12:00:00 2.12.12, я могу - и она должна давать мне историю процессов за каждые 10 минут между этими границы даты / времени.

Формат возврата не важен, он все равно будет обрабатываться скриптом и может быть изменен на все, что мне нужно.

До сих пор я изучал несколько вещей, но не нашел того, что явно отвечает моим потребностям. Среди вещей, которые я искал: sar, free(1), top(1).. и несколько других вещей.

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

примечание: у меня ограниченный опыт работы с Linux, поэтому, пожалуйста, дайте подробную информацию.

примечание 2: желаемый вывод будет примерно таким (после получения желаемого диапазона)

CPU USAGE BY PROCESS:
proc_nameA 1,2,2,2,2,2...... numbers represent % usage every 10 minutes...
proc_nameB 4,3,3,6,1,2......

Та же идея с другой информацией.

1 ответ1

8

Попробуй atop .

Он будет регистрировать всю эту системную информацию за каждые 5 или 10 минут (в зависимости от того, что ваш дистрибутив выбрал для вас) в качестве демона и помещать ее в двоичные файлы. Тогда используйте

atop -r

Для просмотра содержимого сегодняшнего стандартного лог-файла в интерактивном режиме. Это похоже на htop с некоторой дополнительной информацией ввода / вывода, которая позволяет вам вернуться в прошлое и посмотреть, что произошло в те моменты. Нажмите t, чтобы перейти вперед, и Shift+t, чтобы вернуться назад.

Вы также можете указать его на определенный временной диапазон. Из справочной страницы:

With the flag -b (begin time) and/or -e (end time) followed by a time argument
of the form HH:MM, a certain time period within the raw file can be selected.

Это просто не слишком настраивается на то, что писать в сырых файлах.

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

Вот как моя машина «Зарафа» работала сегодня утром между 7:35:40 и 7:45:40:

поверх скриншота

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .