在 Linux 上,如何判断机器有多少个内核处于活动状态?我假设对此的测试也适用于 Android。我需要知道是否有多个核心处于活动状态。想通过让进程创建多个线程来测试这一点。线程是否可以查询它在哪个处理器上?这样就可以判断是否会在重负载下使用多个内核。不确定我是否在正确的轨道上。
Bri*_*ian 24
您可以使用top来列出每个内核的利用率。如有必要,按 1 将 CPU 行拆分为每个内核的单独行。
您还可以添加一列,显示每个进程上次使用的核心。按 f 调出字段列表,然后按 j 激活“P”列。然后按空格键返回实时取景。
ps有一个字段psr可以告诉您作业在哪个处理器上运行。
所以你可以使用类似的东西:
ps -e -o psr= | sort | uniq | wc -l
Run Code Online (Sandbox Code Playgroud)
请注意,仅仅ps像这样运行当然会使至少一个核心处于活动状态。
可能更好的是运行这个:
tmp=/tmp/ps.$$
ps -e -o psr= > /tmp/ps.$$
sort -u "$tmp" | wc -l
rm "$tmp"
Run Code Online (Sandbox Code Playgroud)
这种方式,sort并且wc不增加计数。
| 归档时间: |
|
| 查看次数: |
43281 次 |
| 最近记录: |