我正在寻找一种每 10 秒将 CPU 利用率写入文本文件的方法。
我该如何进行设置?我正在运行 Ubuntu 12.04。
答案1
CPU 利用率很简单:
从命令行:
while ( sleep 10 ) ; do cat /proc/loadavg >> mylogfile ; done
sleep 命令将休眠 10 秒,然后返回值 0(即成功)。我们利用它来获得紧凑的 while( true ) sleep 10。
/proc/loadavg 包含负载平均值现在、过去 5 分钟和过去 15 分钟。如果您每 10 秒记录一次,那么您只对第一个值感兴趣。
或者在脚本中(使用 bash)。
/bin/sh #!/bin/sh 复制代码 # 使用保证存在于任何 posix 系统上的 /bin/sh。 # 如果您想在脚本中添加 shell 特定部分,请替换此部分。 # 例如,如果您想使用 bash 特定的东西,那么将其更改为: /usr/bin/env bash # 确保shebang 位于脚本的第一行(上面没有注释!) # 如果为真,则暂停 10 秒,然后将信息附加到 Mylogfile # while ( sleep 10 ) ; 执行 cat /proc/loadavg >> mylogfile ; 完成
我们可以将 cat /proc/meminfo 添加到我们附加到日志文件的信息中。/proc/meminfo 非常广泛,它会记录很多内容。如果您只想过滤特定的内存信息,请将其添加到帖子中。
最简单的形式是:)
while (sleep 10) ; do cat /proc/loadavg /proc/meminfo >> mylogfile ; done
。
答案2
如果您atop
以守护进程的形式运行,它将记录大量系统状态数据:CPU 使用率、进程列表、磁盘 I/O、内存使用率等。然后您可以使用 逐步查看数据atop -r [filename]
。