cpulimit
是一個(gè)用于限制進(jìn)程使用 CPU 的工具
安裝 cpulimit
:
對(duì)于 Debian/Ubuntu 系統(tǒng),可以使用以下命令安裝:
sudo apt-get install cpulimit
對(duì)于 CentOS/RHEL 系統(tǒng),可以使用以下命令安裝:
sudo yum install cpulimit
編寫一個(gè)簡(jiǎn)單的 shell 腳本來自動(dòng)化資源控制。例如,創(chuàng)建一個(gè)名為 limit_cpu.sh
的文件,并添加以下內(nèi)容:
#!/bin/bash
# 要限制的進(jìn)程名稱
PROCESS_NAME="your_process_name"
# 限制的 CPU 使用率(例如,50%)
LIMIT=50
# 獲取進(jìn)程 ID
PID=$(pgrep -f $PROCESS_NAME)
# 如果找到了進(jìn)程,則使用 cpulimit 限制其 CPU 使用率
if [ ! -z "$PID" ]; then
echo "Limiting CPU usage of process $PROCESS_NAME (PID: $PID) to $LIMIT%"
cpulimit -p $PID -l $LIMIT
else
echo "Process $PROCESS_NAME not found."
fi
請(qǐng)將 your_process_name
替換為要限制的實(shí)際進(jìn)程名稱,并根據(jù)需要調(diào)整 LIMIT
變量。
使腳本可執(zhí)行:
chmod +x limit_cpu.sh
運(yùn)行腳本以限制指定進(jìn)程的 CPU 使用率:
./limit_cpu.sh
若要實(shí)現(xiàn)自動(dòng)化資源控制,可以將此腳本添加到 cron
或 systemd
服務(wù)中,以便在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行。
對(duì)于 cron
,請(qǐng)編輯 crontab
并添加以下行(每分鐘運(yùn)行一次腳本):
* * * * * /path/to/limit_cpu.sh
對(duì)于 systemd
,請(qǐng)創(chuàng)建一個(gè)新的服務(wù)文件(例如 /etc/systemd/system/limit-cpu.service
),并添加以下內(nèi)容:
[Unit]
Description=Limit CPU usage of a specific process
[Service]
ExecStart=/path/to/limit_cpu.sh
[Install]
WantedBy=multi-user.target
然后,啟用并啟動(dòng)服務(wù):
sudo systemctl enable limit-cpu.service
sudo systemctl start limit-cpu.service
通過這種方式,您可以實(shí)現(xiàn)對(duì)特定進(jìn)程的 CPU 使用率進(jìn)行自動(dòng)化資源控制。