我想在 3 台运行 Ubuntu 16.04 Server 的服务器上运行一个脚本,记录每个用户的 CPU 使用情况。这可能是一个“粗略”的日志,例如每小时执行一次,检查哪个用户使用了多少个核心并输出到 .txt 或 .csv。
我稍后可以使用 python 对这些日志进行后处理以获得最终结果,其结果应如下所示:
- 用户:A;总 CPU 小时数:500(机器 A 上 300,机器 B 上 200,机器 C 上 0)
- 用户:B;总 CPU 小时数:800(机器 A 上 300,机器 B 上 200,机器 C 上 300)...
有人能提示我如何让服务器记录所需的数据吗?
答案1
我不确定您到底想要收集什么详细信息,但在类似情况下我建议使用sysstat
。
sudo apt-get install sysstat
然后您可以使用sar
命令来查看发生了什么。它还安装了一个cron
脚本:/etc/cron.d/sysstat
并将数据保存在/var/log/sarX
。
您可以使用它来获取负载平均值或每个处理器统计信息等sar -q
的报告。-P
例子:
01:36:25 PM CPU %user %nice %system %iowait %steal %idle
01:36:26 PM 1 8.08 0.00 2.02 1.01 0.00 88.89
阅读更多:示例、输出……