ulimit
是一個用于控制 shell 進程及其子進程資源使用的命令行工具。在 Ubuntu 中,ulimit
可以用來限制各種資源,如文件描述符、進程數等。然而,ulimit
本身并不直接限制 CPU 使用。
要限制 CPU 使用,您可以使用 cgroups
(control groups)功能。cgroups
是 Linux 內核的一個功能,允許您對一組進程的資源使用進行限制、監控和分配。通過 cgroups
,您可以限制 CPU 時間、內存使用等。
以下是一個簡單的示例,說明如何使用 cgroups
限制 CPU 使用:
cgroup-tools
軟件包:sudo apt-get update
sudo apt-get install cgroup-tools
sudo cgcreate -g cpu:/mygroup
這將創建一個名為 “mygroup” 的新 cgroup。
echo 50000 | sudo tee /sys/fs/cgroup/cpu/mygroup/cpu.cfs_quota_us
這將設置 cgroup 的 CPU 使用限制為 50%。
ps aux | grep myprocess
然后,將進程添加到 cgroup:
echo <PID> | sudo tee /sys/fs/cgroup/cpu/mygroup/tasks
將 <PID>
替換為實際進程 ID。
現在,該進程將受到 CPU 使用限制的影響。請注意,這僅適用于 cgroup v1。從 Linux 內核 4.19 開始,建議使用 cgroup v2,其配置方式略有不同。