我想在执行高性能linpack基准测试的同时测量双插槽机器的温度和频率。
我编写了一个shell脚本sensor.sh,从sh sensors.sh &的后台开始,然后继续进行基准测试。

for ((;;))
do
awk 'BEGIN{ORS=" ";} $2=="MHz" {print $4} END {print "\n"}' /proc/cpuinfo >> cpuf.dat

awk 'BEGIN{ORS=" ";} {print $1} END {print "\n"}' /sys/devices/platform/coretemp.?/hwmon/hwmon?/temp*_input >> cput.dat
 sleep .1
done

我得到我的输出文件,但是时间戳之间的间隔不是0.1秒。我想系统很忙,shell脚本进程没有那么频繁地执行。hpl说它有大约1100s的运行时间,这一次我的temperature.dat文件生成了大约4600个条目。
有没有另一种方法可以在执行基准程序时测量温度和频率,并将输出存储在.dat文件中?

最佳答案

您可以尝试以高优先级运行您的代码,这样它就不会受到基准负载的影响。但你需要以根的身份运行才能使用负面的美好。

nice -n -10 bash
for ((;;))
do
 sensors | grep Core | awk '{print $3}' | tr '+' ' '  | tr '°C' ' ' | xargs >> temperature.dat
 cat /proc/cpuinfo | grep "cpu MHz" | tr "cpu MHz : " " " | xargs >> frequency.dat
 sleep .1
done
exit

关于linux - 在Linux上进行基准测试时测量温度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56408406/

10-16 20:37