如何限制适用于 m1 mac 和 macOS Monterey 的终端命令的 CPU 使用率?

问题描述 投票:0回答:2

我有一台 m1 macbook pro,我经常需要使用

ffmpeg
进行一些升沉处理。当我这样做时,我的所有 8 个核心都以 100% 的速度运行,并且我的 CPU 温度达到 92°C,这让我感觉不舒服。

我真的不需要 100% 的速度,我更愿意看到 80°C 并等待 5 倍的时间才能完成。

我使用 Mac 风扇控制,将风扇设置为 75°C 时的 100%,因此这肯定有帮助,但还不够。

我尝试了

ffmpeg -threads 1
参数,但它对压缩速度和温度没有影响,所以我认为它不起作用。

我尝试了

cpulimit -l 60 -i ffmpeg ...
,但它没有改变任何事情,所以我认为它也不起作用。
cpulimit -l
值为每个核心提供 100%,因此
cpulimit -l 800
应为 100%,
-l 400
应为 50%,
-l 60
应为 7.5%。

我尝试过

nice
,但它不适合我的用例。即使优先级最低,任务也会使用所有可用的 cpu,导致 92°C。

有人已经弄清楚 m1 mac 了吗?

ffmpeg terminal cpu-usage apple-m1 apple-silicon
2个回答
0
投票

所以我尝试运行

cpulimit -l 10 -i ffmpeg -i input.mkv -vcodec libx264 -crf 24 output.mp4
,它实际上减慢了CPU速度。

CPU 使用率(所有核心)在 60-70% 之间,温度也约为 60-65°C。 enter image description here

压缩速度从大约 3.5-4.0 倍下降到 2.0-2.5 倍,所以非常低。

理论上,

-l 10
应该意味着 1.25% cpu。我不知道为什么,但这可以用。


0
投票

减少 CPU 使用率的一种方法是使用

taskpolicy
,如

taskpolicy -b program

这将运行

program
,并且
-b
标志将其优先级设置为后台进程 (
PRIO_DARWIN_BG
) 的优先级,这是一个降低的优先级。

也可以在程序已经运行时使用

-p pid
选项来使用。

© www.soinside.com 2019 - 2024. All rights reserved.