28

What does it exactly mean to have a 350% cpu usage (by a process) on a 4-CPU box? The process is a 'mysqld' which is currently being 'bombarded' by a simulated OLTP scenario.

Any pointers appreciated.

4

6 に答える 6

30

トップを実行中に、「1」を押します。これによりビューが切り替わり、個々のコア/CPU ごとの負荷を確認できます。

于 2009-06-23T12:55:05.360 に答える
19

昨日、まさにこの主題に関する興味深い記事を読みました: Unix load average。知っておくべきことなどをすべて説明します。

エキス :

負荷平均は、実行キューの長さと現在 CPU で実行されているジョブの数の合計です。Solaris 2.0 および 2.2 では、負荷平均には実行中のジョブが含まれていませんでしたが、このバグは Solaris 2.3 で修正されました。

負荷を表示するには、「IRIX モード」と「Solaris モード」の 2 つの基本モードがあるとします。IRIX モード (Linux のデフォルト) では、負荷平均 1 は、1 つの CPU が完全に負荷されていることを意味します (4 CPU システムでは各 CPU の 25% など)。Solaris モードでは、負荷平均 1 は、すべてのCPU が完全に負荷されていることを意味します (実際には、「IRIX モード」の負荷をCPU カウントで割った値と同じです)。

于 2009-06-24T12:10:18.720 に答える
6

負荷平均は、キューで待機しているプロセスの数を示します(CPUの数に合わせて調整されます)。1つのCPUで、平均負荷が1.0の場合、このCPUはキュー上のすべての要求を最適に完全に処理できます。CPUを待機しているプロセスはなく、CPUサイクルが無駄になることもありません(つまり、アイドル状態)。負荷平均2.0(シングルコアシステムの場合)は、プロセスの半分がCPUで実行される機会を待っていることを意味します:-(負荷平均0.33は、システムの負荷が非常に少ないことを意味します。 2/3の時間、CPUは基本的に何もしておらず、さらにプロセスが実行されるのを待っています。

上に表示されているCPUの割合は、一定期間の平均で、単一のプロセスがカーネルによってロードされてCPU上で実行される頻度の尺度です。つまり、4コアシステムの350%は、一定期間、mysqldが3つのフルCPUと4番目のCPUの半分の時間を占有することを意味します。リクエストのあるコア。CPUパーセンテージは、待機キューを実際には考慮していません(負荷平均は考慮しています)。これは、特定の時間枠で何が起こったかの事後統計です。しかし、それは確かにどのプロセスが最近CPUを使用しているかを示しています。

同じテーマに関する別の徹底的な記事:http ://www.linuxjournal.com/article/9001

于 2012-05-30T11:04:09.643 に答える
3

各 CPU プロセスは 100% と見なされます。つまり、合計で 4 CPU の 400% になります。

于 2009-06-23T12:54:22.990 に答える