1. CPUSTRES
CPUSTRES是从微软官网找到的,Sysinternals系列工具之一。通过按钮创建多个线程,每个线程默认Affinity列的每个位都是1,每一位对应一个CPU核,也就是允许运行在所有CPU核。对应下面Windows API 中dwProcessAffinityMask变量。
1
2
3
4
BOOL SetProcessAffinityMask(
[in] HANDLE hProcess,
[in] DWORD_PTR dwProcessAffinityMask
);
模拟CPU占用时开启多个线程,逐个运行即可,再到任务管理器中看看CPUSTRES进程实际占用率,如果不符期望,再去调整线程数量,以及通过选中线程后鼠标右键或Thread菜单来编辑Activity负载程度。
我把把某个线程Affinity指定到CPU 0,Activity改为Maximum负载100%,回到线程列表中看到她的Affinity值对应1,Ideal CPU显示为0。
此时运行该线程后任务管理器中看到第一个CPU核的占用升高到100%,想一想,还可以用这个占用率的变化来表达特定含义。
2. HeavyLoad
支持模拟CPU、文件读写、TreeSize检测文件系统变化、内存、GPU,并实时绘制占用图。通过Test Options菜单和工具栏,选择模拟种类。
下图模拟了CPU占用率
通过Tools->Options->CPU,可选择使用几个逻辑CPU,假设1个物理CPU有12个核,这里填写2,使得HeavyLoad占用16%的CPU,填写3,HeavyLoad将会占用25%的CPU。注意仅仅是HeavyLoad软件,而不是整个电脑CPU占用比。
如果你选择了TreeSize,很有趣,会为每个分区弹出一个GUI,刷新显示分区每个文件夹占用空间。