我目前正在使用
top -b -d 1 > file1.csv
Run Code Online (Sandbox Code Playgroud)
将整个输出附加到一个 csv 文件。但是,我希望单独在 file1 中输入 Cpu(%us) 字段。我已经到了这个程度:
top -b -d 1|grep Cpu
Run Code Online (Sandbox Code Playgroud)
在那里我只能查看 Cpu 条目。
当我尝试
top -b -d 1|grep Cpu > file1.csv
Run Code Online (Sandbox Code Playgroud)
它认为不起作用,因为我什至无法查看我的文件。
我的目的是为所有 CPU 值(存储在 csv 文件中)动态绘制 LiveGraph。谢谢!
对于总 CPU 使用率:
如果您只想要一般的 CPU 使用率,您可以试试这个:
top -b -d1 -n1|grep -i "Cpu(s)"|head -c21|cut -d ' ' -f3|cut -d '%' -f1 > file1.csv
这将只为您提供 CPU 值并更新文件中的值。如果您想将数据附加到文件中(因为我看到您将其命名为 csv 文件),那么不要使用一个 > 使用两个,例如>> file1.csv
.
对于每个线程和 CPU 使用情况:
首先,您需要消除其余的列,以便更轻松地获取 CPU 数据。
top
并按f。现在对于一般 CPU 使用情况,您通常有其他工具,例如ps
,iostat
执行cat /proc/stat
. 对于每个你需要一个不同的解析,比如用于顶部的解析。因为你在标题中明确提到它,所以我只在这里发布 TOP。
注意:应注意 top 不是查看 CPU 使用率或在解析 CPU 值时使用的最有效方法。对于某些,在 cut 命令中使用 f2 显示值,对于其他人, f3