web-dev-qa-db-ja.com

「上位」のCPU使用率を理解する

4 CPUボックスで350%のCPU使用率(プロセスによる)があるとはどういう意味ですか?プロセスは「mysqld」であり、現在OLTPシナリオによってシミュレートされています。

どんなポインタでも大歓迎です。

27
user59634

* NIXランドでは、100%のCPU使用率は、1つのCPUの100%です。

これは、マルチコアプロセッサにも真のマルチプロセッサコンピュータと同じように適用されます。

したがって、mysqlで合計CPUサイクルの7/8を使用しています。

41

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

30
poundifdef

昨日、この件についての興味深い記事を読んだところです nix負荷平均 。それはあなたが知る必要があるすべてとより多くを説明します。

抽出:

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

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

18
wazoox

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

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

同じ主題に関する別の徹底的な記事:---(http://www.linuxjournal.com/article/9001

6

4 x 100%があるので、「top」は4 CPUボックスで合計400%を示します。

4
Jeremy Smyth

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

3
joe