我正在尋找一個程序,可以將整台機器每隔幾秒鐘或過去幾秒鐘的平均 CPU 使用率和平均記憶體利用率寫入一個檔案。是否有任何開箱即用的軟體可以執行此操作或我可以使用命令?
答案1
#!/bin/bash
while true
do
mem=$(free | grep Mem | awk '{print $4/$2 * 100}');
cpu=$(top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.2f\n", prefix, 100 - v }');
sleep 10s;
echo "${cpu},${mem}" >> log.csv;
done