我需要编写压力测试实用程序,将所有CPU设置为特定的负载值,并需要每1秒将CPU负载显示到终端窗口(这取决于用户传递参数),这样用户就可以验证CPU负载。
我将CPU负载设置为80% (基于用户输入),并将压力ng实用程序运行特定时间(120秒)到后台。
stress-ng -c 8 -l 80 --timeout 120s &
现在,我如何将所有的CPU负载(这里我正在对8个核心进行压力测试)信息每1秒显示到终端,这样用户就可以验证他所设置的任何负载值,使用的是当前运行在同一负载下的所有CPU。
发布于 2021-10-07 20:22:46
根据您的处理器制造和模型,您可能可以使用涡轮统计局(linux通用包)来获得您想要的东西。它与最新的英特尔处理器工作,如果你的涡轮增压器是足够新的,许多AMD处理器。
例如,在6核12 CPU Intel 10600 K处理器上,在工作/睡眠频率为273赫兹的情况下,有12个程序以80%的利用率运行,而我的采样时间为每个样本6秒:
$ sudo turbostat --quiet --show Core,CPU,Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp --interval 6
Core CPU Busy% Bzy_MHz IRQ PkgTmp PkgWatt
- - 78.55 4800 90958 67 85.25
0 0 78.53 4800 7598 67 85.25
0 6 78.55 4800 7579
1 1 78.55 4800 7570
1 7 78.56 4800 7568
2 2 78.55 4800 7594
2 8 78.56 4800 7575
3 3 78.54 4800 7570
3 9 78.56 4800 7574
4 4 78.55 4800 7569
4 10 78.57 4800 7564
5 5 78.54 4800 7563
5 11 78.55 4800 7634
Core CPU Busy% Bzy_MHz IRQ PkgTmp PkgWatt
- - 78.54 4800 90801 67 85.27
0 0 78.55 4800 7567 67 85.27
0 6 78.54 4800 7575
1 1 78.55 4800 7562
1 7 78.55 4800 7576
2 2 78.54 4800 7563
2 8 78.54 4800 7569
3 3 78.54 4800 7563
3 9 78.54 4800 7563
4 4 78.54 4800 7564
4 10 78.55 4800 7571
5 5 78.55 4800 7562
5 11 78.54 4800 7566
Core CPU Busy% Bzy_MHz IRQ PkgTmp PkgWatt
- - 78.53 4800 90805 68 85.00
0 0 78.51 4800 7567 68 85.00
0 6 78.56 4800 7574
1 1 78.57 4800 7565
1 7 78.43 4800 7571
2 2 78.45 4800 7565
2 8 78.58 4800 7570
3 3 78.55 4800 7564
3 9 78.53 4800 7566
4 4 78.54 4800 7564
4 10 78.54 4800 7570
5 5 78.54 4800 7561
5 11 78.55 4800 7568
Core CPU Busy% Bzy_MHz IRQ PkgTmp PkgWatt
- - 78.50 4800 90765 68 84.39
0 0 78.34 4800 7569 68 84.39
0 6 78.58 4800 7573
1 1 78.59 4800 7560
1 7 78.36 4800 7570
2 2 78.52 4800 7563
2 8 78.55 4800 7567
3 3 78.30 4800 7535
3 9 78.58 4800 7566
4 4 78.54 4800 7561
4 10 78.55 4800 7569
5 5 78.55 4800 7564
5 11 78.54 4800 7568
https://askubuntu.com/questions/1368009
复制相似问题