Я действительно не знал лучшего способа задать свой вопрос, поэтому вы получите ужасно названный вопрос.
Я объясню, что я хочу сделать, возможно, это поможет вам помочь мне.
Я хотел бы, чтобы моя машина 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......
Та же идея с другой информацией.