将一段时间内的 CPU/RAM 使用日志写入 Ubuntu 12.04

use*_*386 8 linux ubuntu ubuntu-12.04

我正在寻找一种每 10 秒将 CPU 利用率写入文本文件的方法。

我该如何设置?我正在运行 Ubuntu 12.04。

Hen*_*nes 5

CPU 利用率很简单:

从命令行:
while ( sleep 10 ) ; do cat /proc/loadavg >> mylogfile ; done

sleep 命令将休眠 10 秒,然后返回返回值 0(也称为成功)。我们滥用它来获得紧凑的 while( true ) sleep 10。

/proc/loadavg 包含now、过去 5 分钟和过去 15 分钟的负载平均值。如果您每 10 秒记录一次,那么您只对第一个值感兴趣。

或者在脚本中(使用 bash)。

#!/bin/sh
# 使用 /bin/sh 保证出现在任何 posix 系统上。
# 如果您想在脚本中添加 shell 特定部分,请替换此部分。
# 例如,如果你想使用 bash 特定的东西,那么将其更改为:
# #!/usr/bin/env bash
# 确保 shebang 位于脚本的第一行(上面没有注释!)

# 如果为 true,则暂停 10 秒,然后将信息附加到 Mylogfile
#
while ( 睡眠 10 ) ; 执行 cat /proc/loadavg >> mylogfile ;完毕


我们可以将 cat /proc/meminfo 添加到附加到日志文件的信息中。/proc/meminfo 相当广泛,并且会记录很多日志。如果您只想过滤特定的内存信息,请将其添加到帖子中。

最简单的形式将导致:)
while (sleep 10) ; do cat /proc/loadavg /proc/meminfo >> mylogfile ; done

  • Loadavg 不提供 CPU 利用率。它给出了平均作业队列长度。 (2认同)