如何在 linux 中使进程 运行 变慢?

How to make a process run slower in linux?

我想将进程 运行ning 保持很长时间(例如,超过半小时)。我的程序是 gpg。如果我使用 gpg elgamal 加密加密一个 500MB 的文件,大约需要 1-2 分钟(压缩已关闭)。为了增加 运行ning 时间,我只能创建一个几 GB 的文件,这是不可取的。有没有其他方法可以让这个 gpg 程序 运行 更长时间?

我相信,默认情况下,gpg 从标准输入获取输入并将输出发送到标准输出。

所以你可以运行永远用这样的东西:

gpg --encrypt </dev/urandom >/dev/null

要将其用于消费 CPU 一个小时(例如),您可以创建如下脚本:

gpg --encrypt </dev/urandom >/dev/null &
pid=$!
sleep 3600
kill -9 ${pid}

https://unix.stackexchange.com/questions/18869/slow-down-a-process-without-affecting-other-processes

CPULimit 可以在不影响其他进程的情况下满足您的需求:

http://www.cyberciti.biz/faq/cpu-usage-limiter-for-linux/

您启动该程序,然后 运行 cpulimit 针对程序名称或 PID,指定您希望它限制的百分比。请注意百分比是所有核心的百分比;所以如果你有 4 个核心,你可以使用 400%。