[Mac] 特定のプロセスのCPU使用率を制限する方法

なにか重い処理をしている時に、CPU使用率が占有されてしまい、ファンが唸りを上げたり、充電が追いつかなくなったり、PCの動きが重くなったりと、様々な不都合が発生します。

CPUを使っているのは、必要だからに他ならないのですが、だからといってあまりに他の作業が阻害されるのはストレスです。ときには、その処理速度を遅らせてでも他の作業を行いたい、ということがあるはずです。

そんなときに手軽に使える簡単な方法をご紹介します。

cpulimitをインストールする

brewを使ってcpulimitをインストールします。

$ brew install cpulimit

linuxで使われているものですが、Mac(Catalina現在)でも問題なく動くようです。

使い方

PIDを調べる

 アクティビティモニタを起動します。Launchpad(5本指でピンチ)で、「アクティビティモニタ」で検索すると下記アイコンが表示されるので、それをクリックしてください。

アクティビティモニタ

 右端にPIDの表示が見えるので、こちらをメモ。

PIDの場所

PIDと制限したい%値を指定

 コマンドは以下です。

$ cpulimit -p {PID} -l {制限したい%}

 上図の例だと、PID: 11941です。このプロセスのCPU使用率を80%に制限するには、以下のようにします。

$ cpulimit -p 11941 -l 80

 %値の上限ですが、例えば、CPUのコアが8個あると、CPU全体のキャパシティは800%となりますので注意が必要です。80%程度にしておけば、大抵の場合は軽快に動作するようになります。

まとめ

 CPUのパワーを利用したプロセスが動作している場合、基本的には制限しないほうがいいのですが、バックグラウンドであるタスクをゆるゆると動かしていたい場合や、PCの使用に支障が出てしまう場合はこういう方法もあります。適切に使用すれば、より効率的に仕事を進めることが出来るでしょう。