私が使用しているLinuxシステムには多くのユーザーがいますが、時にはユーザーがCPU /メモリの80%以上を占めるプロセスを実行することがあります。
それでは、プロセスが使用できるCPU使用率を制限(例:10%)して、これが発生しないようにする方法はありますか?わかっていますが、cpulimit
残念ながら、私が制限するように指示したプロセス(たとえば、単一のプロセス)に制限が適用されます。それで、私の質問は、ID /パスを提供せずに、将来実行されるすべての実行プロセスとプロセスに制限をどのように適用できますか?
ベストアンサー1
ニース/レニス
nice
システムを「ワンタイム」に調整できる優れたツールです。
nice COMMAND
CPU制限
cpulimit
CPU集約的なタスクを実行する必要がある場合、アイドルCPU時間はシステムの応答性にとって非常に重要です。
cpulimit -l 50 -- COMMAND
cgroup
cgroups
1つ以外のプロセスグループに制限を適用します。
cgcreate -g cpu:/cpulimited
cgset -r cpu.shares=512 cpulimited
cgexec -g cpu:cpulimited COMMAND_1
cgexec -g cpu:cpulimited COMMAND_2
cgexec -g cpu:cpulimited COMMAND_3
リソース
http://blog.scoutapp.com/articles/2014/11/04/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups
http://manpages.ubuntu.com/manpages/xenial/man1/cpulimit.1.html