Sim*_*n H 1 python linux cpu ubuntu
我正在编写一个小的python脚本来测试一些东西.后来我想用它来创建gnuplot的资源使用情节,但首先是几个测试.
脚本看起来像
import subprocess
result = subprocess.check_output("top -b -n 1 -c", shell=True).split("\n")
head = result[:5]
body = [x for x in result[7:] if x] #removes empty strings
for line in head:
print line
csum = 0.0
for line in body:
print line
csum += float(line.split()[8])
print "CPU usage of all processes added up", csum, "%"
Run Code Online (Sandbox Code Playgroud)
多次运行几乎总是导致CPU使用率> 100%.有时甚至> 200%.怎么会这样?
它运行在具有两个核心的虚拟机(virtualbox,ubuntu 14.04 64位)中.主机也有两个核心.
所有正在运行的进程的使用值总和不应该总是低于100%吗?我在同一时间运行htop,这显示了每个核心大约50%的负载....
可能问题是,某些进程可能启动了其他进程,并且两者都显示在top的输出中,而父进程也显示了子进程的cpu使用情况?==>孩子被计算两次?
100%cpu是1 CPU/CORE/Thread的完全利用率.如果你有8个CPU,那么最大值将为800%.
如果你有线程,故事有点复杂,因为一个线程不是真正的CPU,但是在Linux上它被算作CPU.
| 归档时间: |
|
| 查看次数: |
2516 次 |
| 最近记录: |