我正在管理一些计算服务器,每个服务器大约有 20 个用户。我用来htop
查看当前的资源使用情况,但是拥有特定用户的累积内存和 CPU 使用情况的日志会非常有帮助。有什么方法可以通过htop
bash 或 bash 查看/记录这个吗?
答案1
您可以使用top -bn1 -U {user}
它来创建一个文件,然后可以对其进行其他处理以获得累积使用量。
该参数-bn1
使top
以非交互模式运行,完成后仅输出一次。然后,您可以将该输出传送到任何地方以进行其他处理。
例如,
top -bn1 -U {user} > user_log.txt
为了在另一个脚本中进行额外处理,
或者你可以做类似的事情,
top -bn1 -U {user} | awk {file_processing_script} >> user_log.txt
file_processing_script
在这种情况下,awk
脚本可以按照您想要的方式处理数据。一种想法是awk 'NR>7{cpu += $9; mem += $10} END {printf "%.2f\t%.2f\n", cpu, mem}'
,它会简单地输出特定用户在运行时的总 CPU 和内存使用情况。将其中几个附加在一起,您会得到一个很好的表格,显示用户的 CPU 和内存使用情况。
答案2
我猜你想要:htop -u someusername