将一段时间内的 CPU/RAM 使用情况日志写入 Ubuntu 12.04 上的文件

将一段时间内的 CPU/RAM 使用情况日志写入 Ubuntu 12.04 上的文件

我正在寻找一种每 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]

相关内容