2009-12-03 13:02:35 +0000 2009-12-03 13:02:35 +0000
22
22

CPU使用率とRAMの関係は?

CPUの使用率が100%でRAMの使用率が50%しかないのを何度も見たことがあります。この二つの関係はどうなっているのでしょうか?また、片方の性能はもう片方にどのような影響を与えるのでしょうか?

回答 (6)

44
44
44
2009-12-03 13:14:59 +0000

CPUは、メモリ内のものを処理(足し算などの命令を実行)します。RAM はメモリピラミッドの一部にすぎません (後述)。したがって、大量のデータを処理しているときには、そのデータ(またはその大部分)がRAMにロードされてCPUの準備が整い、RAMの方がストレージデバイスよりも高速にアクセスできるため、処理速度が向上します。そのため、CPUの使用量とRAMの使用量はしばしば相関関係にあることがありますが、必ずしも相関関係にある必要はありません。

基本的な例として、画像編集プログラムがあります。私が20MBのjpegを読み込むと、プログラムは画像全体を読み込み、OSはそれをRAMに保存します(プログラムにはすべてのworkingメモリは同じように見えますが、OSはディスク上のページ/スワップファイルに行くかRAMに行くかを決定します)。そのため、画像はRAMの中で処理されるのを待っていますが、プログラムにくだらないフィルタをかける前にコーヒーを飲みに行くので、CPUは何もしていません: 高RAM低CPU。

戻ってきてフィルタを適用して画像に気泡を加えると、CPUは100%になり、前処理された画像をメモリに保持しているので、さらにメモリが使われてしまいます。高RAM、高CPU。

プログラムが気泡を追加し終わると、CPUは落ちますが、メモリは落ちないかもしれません。

もちろん、こんな単純なものではありません :-)

24
24
24
2009-12-03 13:38:15 +0000

それは、脳と本の関係と同じです。脳が速い=読むスピードが速い、本が大きい=ページ数が多いということです。

10
10
10
2009-12-03 13:12:49 +0000

RAMはデータを保存するために使用されます。CPUの時間はデータの処理に使われます。

CPUとメモリの使用量には関係がありません。プロセスはシステムのすべてのCPUを占有することができますが、使用するメモリの量は最小限です。また、あるプロセスはシステム上で利用可能なすべてのメモリを割り当てることができますが、最小限のCPU時間しか使用しません。つまり、両者の間には何の関係もありません。

5
5
5
2009-12-03 13:14:39 +0000

両者には一貫した関係はありません。CPU使用率は、アプリが行う必要がある処理や作業の量に依存します。RAMは、アプリの実行中にアプリを保持するために必要なスペース/メモリの量です。

より多くのRAM = より多くのアプリを同時に実行できる

より多くのCPU = より複雑な計算/演算を実行できる

お役に立てれば幸いです。

2
2
2
2009-12-03 13:09:13 +0000

それらは関連していません。タスクによっては、どちらか一方のリソースを多く使うものもあれば、両方のリソースを多く使うものもあります。

1
1
1
2009-12-03 14:23:36 +0000

関係性はありません。頑丈な数値計算をするという観点から考えてみてください。RAMはその数字をどれだけ速く検索できるように保存できるかを表し、CPUはその数字に対してどれだけ速く数学的な演算を実行できるかを表しています。

両者がどのように影響するかについては、CPUは遅いがRAMは多いと仮定してみましょう。つまり、一般的な32ビットマシンでは約5億個の数字をメモリに保存することができるということです。しかし、これらの数字の処理/計算/その他の処理はより遅くなります。

一方、高速なCPUを持っていてもRAMの量が少ない場合、数値の処理は高速になりますが、時折、マシンはディスクから数値をドラッグする必要があります(そして、それはRAMから数値を取り出すよりも何倍も遅くなります)。

つまり、それぞれが他のものに影響を与え、最高のパフォーマンスを発揮するためには、両方とも良好な状態である必要があります。しかし、これは各アプリケーションが実際に何をしているかに完全に依存しますし、他の要因(ディスク速度、プロセッサキャッシュなど)もあります。

関連する質問

19
9
5
1
8