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

这台机器配有8核i7-7700T.我的问题是,我是使用CPU利用率(460.7%,331.7%)还是平均负载来评估转码任务的CPU需求。
发布于 2022-08-03 05:54:42
负载平均显示进程运行和等待的时间间隔为1、5和15分钟(以5秒为单位)。
CPU利用率为您提供了特定进程的处理器使用情况。对你来说更有意义。可以对所有ffmpeg进程进行此值之和。
如果您想在特定时刻获得整个系统的CPU利用率,可以使用以下命令:
vmstat 1 2(将第二行作为系统开始时的平均值)
发布于 2022-08-03 12:08:23
。
要解释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状态
%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,这意味着:
https://serverfault.com/questions/1107236
复制相似问题