Inb*_*ose 5 memory linux cpu-usage process virtual-memory
我真的不知道问我问题的更好方法,因此你得到了一个可怕的问题。
我会解释我想做什么,也许这会帮助你帮助我。
我想让我的 linux 机器持续监控(每 10 分钟)我机器上的所有进程。我需要的每个进程的信息是名称、CPU 使用率、分配的(虚拟)内存和驻留(ram)内存。
如果要查看这些定期报告,它们将如下所示:
PROCESS CPU RAM VIRTUAL
name1 % MB MB
name2 % MB MB
...etc..etc
Run Code Online (Sandbox Code Playgroud)
这些报告应该以这样的方式存储,以便我可以在以后通过提供日期/时间范围(范围)来访问它们。例如,如果我想查看从 12:00:00 1.12.12 到 12:00:00 2.12.12 的进程历史记录,我可以 - 它应该每 10 分钟给我一次进程的历史记录日期/时间边界。
返回的格式并不重要,无论如何都会由脚本处理,并且可以修改为我需要的任何内容。
到目前为止,我已经研究了一些东西,但还没有找到明显满足我需求的东西。我搜索的内容包括:sar、free(1)、top(1) .. 以及其他一些内容。
这应该是一个简单的问题,我已经可以通过简单地查看我htop
的 .基于日期/时间范围(范围)的数据。
注意:我对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......
Run Code Online (Sandbox Code Playgroud)
与其他信息相同的想法。
试试atop
。
它将每 5 或 10 分钟(取决于您为您选择的发行版)记录所有这些系统信息作为守护程序并将其放入二进制文件中。然后使用
atop -r
Run Code Online (Sandbox Code Playgroud)
以交互方式查看今天的标准日志文件的内容。这就像htop
一些额外的 I/O 信息,让您可以回到过去,看看那些时刻发生了什么。按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.
Run Code Online (Sandbox Code Playgroud)
在原始文件中写入的内容并不过分可配置。
我建议您也阅读更多的 atop 联机帮助页以开始使用,例如阅读昨天日志文件的内容。
这是我的机器 'zarafa' 在今天早上 7:35:40 到 7:45:40 之间的表现:
归档时间: |
|
查看次数: |
4775 次 |
最近记录: |