#author("2025-04-28T23:11:30+09:00","","") #author("2025-05-02T14:43:56+09:00","","") #topicpath /////////////////////////////////////////////////////////////////////////////// * 目次 [#d1fe580f] #contents(); /////////////////////////////////////////////////////////////////////////////// * cpulimit [#ba592c0a] - 特定のプロセスが占有する CPU のリソースを制限する /////////////////////////////////////////////////////////////////////////////// * 使い方 [#e20a0903] //============================================================================= ** 使用例 [#qac0d091] //----------------------------------------------------------------------------- *** <PID> のプロセスの CPU 使用率[%] 上限を <LIMIT> に設定する [#a9378a72] # cpulimit -p <PID> -l <LIMIT> -b //============================================================================= ** コマンドラインオプション [#s119f68d] - リソース制限対象指定オプション |>|~ option |~ description | |~short |~long |~| |-p <PID> |--pid=<PID> |CPUリソース制限する対象のプロセスの PID を <PID> として指定する | |-e <FILE> |--exe=<FILE> |CPUリソース制限する対象のコマンドファイル名を <FILE> として指定する | |-P <PATH> |--path=<PATH> |CPUリソース制限する対象のコマンドファイル名を絶対パス <PATH> で指定する | -- それぞれ試してみたところ、 pid 指定で制限する -p は効くのを確認したが、-e と -P は効いているように見えなかった。 -- いずれのオプションも、cpulimit 実行時点で既に実行中のプロセスのみが対象となる。 -- -p は効くのを確認したが、-e と -P は複数プロセスが実行中の場合は該当プロセス全てに対して効くわけではない模様(よって、cpulimit を実行しても全く影響を受けないプロセスが存在し得る)。 - オプション |>|~ option |~ description | |~short |~long |~| |-b |--background |cpulimit をバックグラウンドで実行 | |-f |--foreground |cpulimit をフォアグラウンドで実行 | |-c |--cpu |対象とする CPU 番号を指定する | |-l <N> |--limit=<N> |CPU使用上限を 1-100 の範囲で指定&br;topで見たときの CPU% に対応するようで、4Core8thread の CPU の場合、400 が最大となる模様。 | |-q |--quiet |Quietモードで実行する | |-k |--kill |CPU使用率を制限する代わりにターゲットプロセスを強制終了する | |-m |--monitor-forks |ターゲットの子プロセスを監視する |