【CentOS7】指定したプロセスのCPU使用割合の制限

公開日:
更新日:
カテゴリー: サーバー

サーバー上であるプロセスを常時走らせておく場合、そのプロセスがCPUを圧迫していろいろと困る場合があります。

このとき、そのプロセスが使用するCPUの割合を制限することができます。

タイトルではCentOS7としていますが、CentOS7でなくてもOKです。

CPU使用割合の制限

あるプロセスのCPU使用割合を制限するためには、サーバーに「CPUlimit」というパッケージをインストールする必要があります(次のようにyumからできる)。

# yum install cpulimit

使い方

プロセスIDとそのCPU使用割合を指定する。

# cpulimit -p 〇〇〇 -l △△
  • 〇〇〇にはプロセスIDを指定
  • △△にはそのプロセスが使用できるCPU割合の指定
# cpulimit -p 24396 -l 75

この場合、プロセスID「24396」のプロセスが使用できるCPU割合は75%までとなります。

なお、プロセスID「24396」のプロセスがCPUを2個使っていれば、CPU全体(2Core × 100% = 200%)の使用割合は37.5%となります(75%に設定したい場合は、150を設定する)。

現在ではマルチコアのサーバーがほとんどだと思うので、プロセスのCPU使用割合を任意の数値にするためにはあれこれ計算して設定する必要があります。

割合指定の詳細

あるプロセスが「a」個のCPUを使用しており、そのプロセスが使用できるCPUの割合を「b」%に制限したい場合は「a×b」の数値を指定します。

  • あるプロセスが1Coreのサーバーで動いている場合、その使用割合を80%に制限したい場合は「80」を指定
  • あるプロセスが2Coreのサーバーで動いている場合、その使用割合を80%に制限したい場合は「160」を指定

※2Coreのサーバーであっても、プロセスに1CoreのCPUしか割り当てていない場合は、1個のCPUで動いているとして計算する必要があります。

 

頑張って書いたのでちょろっと読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント