約100%CPUで実行されるプロセスがあります。だから私はそれをniceとして実行します。
$ nice /dir/myamd.sh
このtop
コマンドは、私のプロセスがまだ100%に近いレベル(99%のように少し低いかもしれません)で実行されていることを示しています。このnice
コマンドは実際に動作しますか?
返信ありがとうございます!nice
と両方を使用できますかcpulimit
?なぜなら、私のプロセスの歩留まりが他のプロセスよりも高くなり、80%のCPUを例に挙げているからです。
答え1
Niceはプロセスの相対的な優先順位を変更します。 CPUを必要とする他のものがない場合は、優先順位が高いものがないため、CPUを100%使用できます。
多くの最新システムにはマルチコアがあるため、4つのコアがありますが、3つのプロセスしか実行できない場合は、プロセスが良好なレベルに関係なくコアを100%使用できる別の例です。
答え2
top
ps lax
システム内のすべてのプロセスの現在の良好なレベルがこの列に表示されますNI
。
良いレベルとCPU負荷のたとえ
CPUをスーパーマーケットのカウンターパートの計算員と考えてください。マルチコアCPUがある場合は複数あります。
各カウンターごとに支払いを待っている顧客の行が並んでいます。これはCPUの実行キューです。
キューの長さは現在のCPU負荷です。それが今カウンターの後ろにいる人の負担だ。
キュー内の人は次のようになります。いいね後ろの人が本当に急いでいる必要がある場合は、キューからそれらを通過してもまったく問題ありません。
カウンター計算員それだけしなければならないことが多いとそれでも同じ速度で動作(キューが空くまで100%)ただし、キューにいる人は、キューの他の人とどれほどフレンドリーなかに応じて、順番にカウンターに到着します。
たとえば、スーパーマーケットは空になっている可能性がありますが、計算が必要な大きなカートを持っている顧客がいます。そのはいとても良かったのですが…気にしませんでしたが、計算員は話をする時間があるほど遅くなりませんでした。
Unix システムでは、Supermarket とは異なり、CPU がプロセスをキューに戻す前に、しばらくの間プロセスを処理します。これにより、あるプロセスは別のプロセスをブロックしません。
この例えにコンテキスト切り替えを適用することもできます。これはCPUがあるプロセス処理から別のプロセス処理に切り替えるポイントであり、頻繁に実行すると時間がかかることがあります。これは基本的にカウンターから顧客にサービスを提供するのにかかる時間です。加工食品をバッグなどに入れるのにかかる時間や、次のお客様がこれから「こんにちは」と挨拶するのにかかる時間などです。
注:上記では「CPU」を使用しました。場合によっては、「コア」と言わなければなりません。ユーザー体験の観点からは違いはありません。
答え3
答え4
あなたの例では次のようになります。いいえ布材。
誰ですかいいえバックグラウンド(&)でプログラムを実行します。したがって、これはおそらくこのTTYで実行される唯一のプログラムです(これを開始したシェルを除く)。
2番目のプログラムが別のTTY(別のターミナルウィンドウ)で実行されている場合、両方のプログラムの相対的な良好なレベルは顕著な影響を与えません。