CPU使用率を制限する2013/06/21 |
CPULimit を使うと CPU の使用率を制限することができます。
|
|
[1] | CPULimit インストール |
[root@dlp ~]# yum --enablerepo=epel -y install cpulimit # EPELからインストール
|
[2] | テストとして、ループするテストプログラムを作成して実行させておく。 注 : CPU使用率がほぼMAXまで上がるので、何が起こってもよいテスト機器で実施してください。 |
[root@dlp ~]#
vi test.sh
#!/bin/bash
while :; do :; done; chmod 700 test.sh [root@dlp ~]# ./test.sh & [1] 1409 [root@dlp ~]# top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1409 root 20 0 103m 1256 1084 R 99.1 0.1 0:12.86 test.sh 1 root 20 0 19228 1464 1184 S 0.0 0.1 0:00.46 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd # ↑ test.sh の CPU負荷が99%超になっている |
[3] | CPULimit で制限する |
# test.sh の使用率を 20% に制限する [ cpulimit -l (パーセント) -p (プロセスID) ] [root@dlp ~]# cpulimit -l 20 -p 1409 & [4] 1410 [root@dlp ~]# top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1409 root 20 0 103m 1252 1084 R 19.8 0.1 0:34.47 test.sh 1 root 20 0 19228 1464 1184 S 0.0 0.1 0:00.46 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd # ↑ test.sh の CPU負荷が20%以内になった
|
[4] | 制限を解除するには CPULimit のプロセスを切ってください。 |
[root@dlp ~]# ps -ef | grep cpulimit root 1410 1162 0 15:11 ttyS0 00:00:00 cpulimit -l 20 -p 1409 root 1434 1417 0 15:21 ttyS0 00:00:00 grep cpulimit[root@dlp ~]# kill 1410 Exiting... [root@dlp ~]# top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1409 root 20 0 103m 1252 1084 R 100.0 0.1 3:19.51 test.sh 1 root 20 0 19228 1464 1184 S 0.0 0.1 0:00.46 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd |
Sponsored Link |