首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用cpu利用率还是系统负载?

我应该使用cpu利用率还是系统负载?
EN

Server Fault用户
提问于 2022-08-03 03:40:37
回答 2查看 871关注 0票数 0

我使用ffmpeg将H265视频转换为H264流。这台计算机在从两个摄像机中取出视频时,似乎容量过大。

这台机器配有8核i7-7700T.我的问题是,我是使用CPU利用率(460.7%,331.7%)还是平均负载来评估转码任务的CPU需求。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2022-08-03 05:54:42

负载平均显示进程运行和等待的时间间隔为1、5和15分钟(以5秒为单位)。

CPU利用率为您提供了特定进程的处理器使用情况。对你来说更有意义。可以对所有ffmpeg进程进行此值之和。

如果您想在特定时刻获得整个系统的CPU利用率,可以使用以下命令:

代码语言:javascript
复制
vmstat 1 2

(将第二行作为系统开始时的平均值)

票数 0
EN

Server Fault用户

发布于 2022-08-03 12:08:23

您应该使用平均负载来评估CPU需求.

要解释CPU的使用情况和平均负载数,您应该考虑到

  • 系统中的物理核总数(所有CPU)
  • 启用HyperThreading了吗?
  • 在Linux中,平均负载还包括处于不间断睡眠状态的进程等待I/O。
  • CPU使用和负载平均数的解释取决于逻辑核的数目。
  • 您应该检查每个核心CPU的统计数据,以便更准确。在top中,按“1”表示每个核心属性,并按“t”来旋转图形条。

i7-7700T有4个物理核,并启用了8个逻辑核( https://ark.intel.com/content/www/us/en/ark/products/97122/intel-core-i77700t-processor-8m-cache-up-to-3-80-ghz.html )。

CPU使用率,%

显示CPU未空闲和执行OS调度程序调度的任务的时间百分比。

每个核心可以使用100%,所以最大使用能力的8个核心是800%。

因此,两个ffmpeg工艺在460.7% + 331.7% = 792.4%的条件下,充分利用了8个岩心。

这行中的整个CPU状态

代码语言:javascript
复制
%Cpu(s):  19.9 us,  0.7 sy,  78.1 ni, 1.1 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st

这里,用户空间时间的19.9% +漂亮时间的78.1% =用户空间程序CPU使用率的98%。

因此,CPU内核在98%的时间内被所有的用户空间进程占用,79%2%的进程执行两个ffmpeg进程。

因为转码是一个CPU绑定的任务,所以在任何CPU上几乎总是有接近100%的利用率。

负荷平均

在某段时间内,平均执行的线程数+等待执行的线程数。

一个核心一次执行一个线程。

8个核心可以在一个时间片上执行8个线程。

如果负载平均>逻辑核数,则系统重载。

这意味着由于内核繁忙,操作系统调度程序无法将下一个时间片分配给某些线程,并将它们放在运行队列中等待执行。

8核系统的负荷平均第二个数= 25.65,这意味着:

  • 在最后5分钟内平均执行了8个线程
  • 在最后5分钟内,平均17.65个线程在运行队列中等待

So系统超载17.65/8*100=220.6%.

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1107236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档