web-dev-qa-db-ja.com

PIDではなくコマンドでcpulimitを使用する

次のようなコマンドでcpulimitを使用しようとしています。

cpulimit -e 'tar -chzf [...]' -l 50 

しかし、cpulimitはプロセスを開始できないようです:

Warning: no target process found. Waiting for it...

では、どのようにcpulimitを呼び出して、すべての入力引数でtarを開始するのですか?

1
Flatron

試してください:

cpulimit -l 50 -- tar -chzf ...

man cpulimit の例から:

 # cpulimit -l 20 firefox
        Launch Firefox web browser and limit its CPU usage to 20%

 # cpulimit -l 25 -- firefox -private
        Launch Firefox web browser in private mode and limit its CPU usage to 25%
4
muru

優先度の異なるプログラムを実行できるNiceコマンドを使用できます。

man Niceから

Run  COMMAND with an adjusted niceness, which affects process
       scheduling.  With no COMMAND,  print  the  current  niceness.
       Nicenesses  range  from -20 (most favorable scheduling) to 19
       (least favorable).

例えば

    Nice -12 matho-primes 0 9999999999 > prime.txt &

renicecommandを使用して、実行中のプロセスの優先度を変更することもできます。

0
g_p