CPU使用率が100%を超えるのを見ました。これはどのように可能ですか?私は4つのCPUコアを持っているので、100%は本当に最大ではないのですか?
また、プログラムがこれを行うときに、k
コマンドを使用する以外に他に何ができるのでしょうか。
私の知る限りでは、1コアの消費電力に対するCPU使用率を示しています。つまり、タスクのCPU使用率が200%の場合は、2つのコアを占有しています。
トップのmanページから
k: %CPU -- CPU usage
The task's share of the elapsed CPU time since the last screen
update, expressed as a percentage of total CPU time. In a true SMP
environment, if 'Irix mode' is Off, top will operate in number of
CPUs. You toggle 'Irix/Solaris' modes with the 'I' interactive com-
mand.
だから、はい、上はCPUパーセンテージPERコアを示していますが、 'I'を押すことでこの動作を切り替えることができます。
はい、上部のプロセスが100%を超えた場合、または上部の負荷が1.0を超えた場合は、複数のコアが占有されているか、システムがオーバーサブスクライブされています。オーバーサブスクリプションとは、物理的に管理可能な量よりも多くの作業をコアに追加することを意味します。
top
では、(使用されているメモリのように)さまざまなパラメータでビューをソートすることもできます。並べ替え可能なものを調べたい場合は、top
のヘルプまたはマニュアルページを参照してください。
プロセスによって使用されている仮想メモリや常駐メモリ、スリープ状態または現在実行中の状態など、プロセス自体に関するすべての種類の情報や、使用されたCPU時間も確認できます。
必要に応じて、上部の平均負荷もuptime
コマンドで表示できます。