在 CentOS 系統中,ulimit
命令主要用于控制用戶進程的資源限制,如文件大小、進程數等
使用 nice
和 renice
命令調整進程優先級:
在啟動進程時,可以使用 nice
命令來設置進程的優先級。優先級較低的進程將獲得較少的 CPU 時間。例如,要以優先級 10 啟動程序 myapp
,可以使用以下命令:
nice -n 10 ./myapp
如果進程已經在運行,可以使用 renice
命令調整其優先級:
renice 10 -p <PID>
其中 <PID>
是進程的 ID。
使用 cgroups
限制 CPU 使用率:
cgroups
(控制組)是 Linux 系統中用于限制、監控和分配資源的一種機制。通過創建一個 cgroup 并為其設置 CPU 使用率限制,可以限制在該 cgroup 中運行的所有進程的 CPU 使用率。
首先,確保已安裝 cgroup-tools
軟件包:
sudo yum install cgroup-tools
然后,創建一個新的 cgroup:
sudo cgcreate -g cpu:/mygroup
接下來,為 cgroup 設置 CPU 使用率限制。例如,要將 CPU 使用率限制為 50%,可以使用以下命令:
echo 50000 | sudo tee /sys/fs/cgroup/cpu/mygroup/cpu.cfs_quota_us
echo 100000 | sudo tee /sys/fs/cgroup/cpu/mygroup/cpu.cfs_period_us
最后,將進程添加到 cgroup 中:
sudo cgclassify -g cpu:/mygroup <PID>
其中 <PID>
是要限制的進程的 ID。
請注意,這些方法僅適用于限制單個用戶或單個進程的 CPU 使用率。要限制整個系統的 CPU 使用率,可能需要使用其他工具,如 cpulimit
或 taskset
。