• ベストアンサー

ユーザごとにCPUの占有率を制限

題名の通りですが、たとえば、ユーザが利用できるCPUの利用率を最大50%までしか使えないようにしたい場合、どのようにすればよいですか? というのも、CPUの負荷下におけるプロセスの速度評価を行うために、無限ループをするプロセスを別に走らせて行っていたのですが、この負荷下で、評価したいプロセスを200回以上連続実行すると、200回全体の合計実行時間に、負荷がかかったような形跡がほとんどなくなってしまうという謎の現象が起こってしまったからです。 なので、ユーザが利用できるCPU占有率を一定にできないのかなと思い、質問してみました。 ulimitではできなさそうですよね。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

商用OSにはWLM(WorkLoadManager)と言った機能がありますが、おそらくlinuxでは、ユーザー単位やプロセス単位での制約はできないと思います。 CPU使用率50%の常時負荷をかけたいのであれば、例えば、無限ループをalarmで10msで中断して10msスリープするようなプログラムにして実行優先度を評価対象より高くすれば、そのプログラムのCPU使用率が約50%になると思います。

関連するQ&A