次の記事では、CPULimitについて見ていきます。 これは、コマンドラインツールです。 プロセスごとにCPU使用率を制限します(CPU時間ではなく、パーセンテージで表されます)。 これは、プロセスがあまりにも多くのCPUサイクルを消費したくない場合に、バッチジョブを制御するのに役立ちます。
このツールを使用して、値やその他の優先順位設定を変更するのではなく、CPUの実際の使用法を変更します。 さらに、システムの一般的な負荷に動的かつ迅速に適応することができます。 使用するCPUの量の制御は、送信することによって行われます。 セナーレス シグストップ y シグコント POSIX プロセスに。 指定されたプロセスのすべての子プロセスとスレッドは、同じCPUパーセンテージを共有します。
CPULimitをインストールします
CPULimitは Unixライクなディストリビューションのほとんどのデフォルトリポジトリで利用可能。 それぞれのGnu / Linuxディストリビューションのデフォルトのパッケージマネージャーを使用してインストールできます。 手元の例では、Debian、Ubuntu、LinuxMintにインストールする方法を説明します。 ターミナルを開いて(Ctrl + Alt + T)、次のコマンドを書き込むだけです。
sudo apt-get install cpulimit
誰でも他のタイプの施設に相談することができます プロジェクトGitHubページ.
CPULimitの使用
ツールをインストールしたら、それがどのように機能するかを確認します。 これを行うには、多くのCPUリソースを消費するプログラムを実行します。 次のコマンドは、rootユーザーとして実行する必要があります。
CPUリソースを消費するスクリプトの作成
まず、 derrochecpu.shというファイルを作成します。 私は使用するつもりです Vimエディター、しかし、それぞれが彼らが好むものを使用すること。 ターミナル(Ctrl + Alt + T)から、次のように記述する必要があります。
vim derrochecpu.sh
開いたら、 'キーを押しますEscキー' その後 'i'。 次に、次の行を追加します。
#!/bin/bash while :; do :; done;
これが完了したら、保存して終了します。 これを行うには、 'キーを押しますEscキー'そして私たちは書きます :WQ ファイルを保存して閉じます。 この短いスクリプトは、最大CPU使用率をシームレスに消費して繰り返されます。 したがって、仮想マシンでテストすることをお勧めします。
次に、このファイルを実行可能にします。 これを行うには、同じターミナル(Ctrl + Alt + T)から次のコマンドを実行します。
chmod +x derrochecpu.sh
スクリプトの起動
次に、プロセスをバックグラウンドで起動します。 次のコマンドを使用してこれを行います。
./derrochecpu.sh &
プロセスのPIDを保持します。 この場合、6472は起動されたプロセスのPIDです。
消費するCPUの量を確認する
起動したばかりのプロセスが消費するCPUの量を、 コマンド«トップ» 同じ端末で:
top
上のスクリーンショットに見られるように、wastecpu.shプロセスは96%以上のCPU使用率を消費します。 CPU使用率が高いため、他のタスクを実行するのは困難です。 数分後に、 システムがクラッシュまたはフリーズする可能性があります。 ここでCPULimtが役に立ちます。
PIDによるCPU使用率の制限
それでは、CPULimitツールを使用して、このプロセスのCPU使用率を制限しましょう。 わたしたちは・・・にいくつもりです 対応するPIDを使用してCPU使用率を35%に制限します (約)。 これを行うには、次を実行します。
cpulimit -l 35 -p 6472 &
- オプション "-l 35»プロセスを約35%に制限します。
- «-p 6472»これは、以前に見たderrochecpu.shのPIDです。
CPULimitの効果を確認する
前のコマンドが起動されたら、プロセスのCPU使用率をもう一度確認しましょう。 このために、topコマンドを再度使用します。
top
上の画像からわかるように、wastefulcpu.shのCPU使用率は35,6%に低下しており、これは35%に非常に近い値です。 今や 他のプロセスを実行するためにより多くのCPUリソースを持つことができます.
ファイル名によるCPU使用率の制限
PIDを使用してプロセスを制限する方法を見てきました。 同じように 実行可能プログラムファイルの名前を指定してCPULimitコマンドを実行できます.
たとえば、上記の同じ例は次のようになります。
cpulimit -l 30 ./derrochecpu.sh &
CPULimitは、CPU使用率が高すぎるプロセスを実行しているときに役立ちます。 次にプログラムがCPUを大量に消費していることに気付いたときは、コマンド«を使用してプロセスのPIDを見つける必要があります。top«。 それがある場合は、この記事で説明されているように、CPULimitコマンドを使用してCPU使用率を最小値に制限する必要があります。
CPULimitをアンインストールします
このツールをシステムから削除するのは、ターミナルを開いて(Ctrl + Alt + T)入力するだけです。
sudo apt remove cpulimit
この記事の説明 それはほんの一例です。 明らかに、彼らの正しい心の誰も、ここで説明されているようなスクリプトを自分のコンピューターで起動することはありません。
はいはい。
冷却に問題があると思われるamd64x2を搭載した古いPCに最適です。プロセスが数分間、大量のCPUを消費すると、100ºCまで加熱されてシャットダウンします。
したがって、プロセス(通常は一部のWebサイトまたはビデオレンダリングプログラム)によってCPUの温度が上昇していることがわかった場合は、cpulimitを使用してそのプロセスから「電力」を取り除きます。
感謝