4 GBのRAMがインストールされていると、プロセッサの使用率が増加します


9

Intel Atom D2700(Synology NAS DS412 +)で、カーネル3.2.30 x86_64を実行する4GB RAMを搭載しています。このユニットには、DIMMスロットが1つあります。

私や他の人が見つけた1つのことは、4 GB DIMMを2 GB DIMMに追加すると、ユニットに負荷がかかったときにCPU使用率が大幅に高くなることです(たとえば、Minecraftサーバーなどの「重い」Javaアプリケーション、またはPlexトランスコーディングなど)。 。多くのユーザーは、2GBに戻すと、これらの高負荷の問題がすべてなくなることを発見しました。

これはLinuxに固有のものですか?または、これはAtom自体の問題ですか?


たぶん、使用しているディストリビューションを追加できますか?
Bernhard

Synologyのビルド。
Trevor Seward

カーネルに変更はありましたか?万が一PAEカーネルを使用していますか?
誕生した

Synologyは通常、これらのタイプのリリースノートを提供していません。いいえ、これはx86-64カーネルです。
Trevor Seward

topは追加の負荷のソースとして何を示していますか?I / Oの増加、実行中のプロセスの増加?スワッピングは有効ですか?負荷が高く、実行時間の長いプロセスがある場合は、時間の経過に伴う出力を比較できますcat /proc/$PID/status
Hauke Laging 2013年

回答:


7

見ていインテルAtom®プロセッサD2000とN2000シリーズのデータシート、巻を。1

32-33ページと表3-24に注意してください。

それからの要点は、プロセッサーとメモリーコントローラーが合計4 GBのRAMをサポートする一方で、スロットごとに2 GBの2 GBチャンクでのみサポートすることです。412+にはスロットが1つしかないため、2 GBが最大RAMです。それより上のものは予測できない可能性があります。


1

tl; dr

原因は互換性のないRAMモジュールだと思います。


(quadruplebuckyによって提案された)D2000データシートを読みました。私の知る限り、データシートには、DIMMスロットの数に関するRAMサイズの制限については何も記載されていません。代わりにランクについて話ます(メモリジオメトリを参照)。

D2000システムのRAMをアップグレードする場合は、表3-24でサポートされているメモリ構成を確認してください。4096 MBのメモリサイズの場合、モジュールは次のようになります。

  • ダブルランク、
  • 2ギガビット密度の16チップ。

同じ容量のメモリモジュールが一つのテーブルにリストされていない構成8四ギガビット密度チップを使用して、例えば4ギガバイトシングルランクモジュールを得ることができるように、異なる構成で製造されている-この参照キングストンによって照明ポスト

つまり、モジュールの正確な部品番号の仕様をチェックして、互換性があるかどうかを確認する必要があります。最近、Patriot PSD34G1333L2SをDS713 +にインストールしましたが、これまでのところ、パフォーマンスは良好です。


0

より多くのメモリがある場合、CPUは、より多くのデータ/プログラムを処理できるようになり(ディスクからのデータを待機するアイドル時間が短くなり)、そのため、特に高負荷時にCPU使用率が増加します。スループットは向上しますか?それとも測定していませんか?


私は本当にそれを超えて測定したとは言えませんが(Busybox、したがってオプションは多少制限されます)、4GB RAMを使用すると、前述のアプリケーションのパフォーマンスが大幅に低下し、一部は使用できなくなります。2GBのRAMでは、これらの問題はどれも明らかではありません。
Trevor Seward

ドイツのウィキペディアの記事では、I / Oプロセスは負荷の一部であると主張しています。したがって、RAMが増えると負荷が低下します。これはで簡単に確認できますfor((i=0;i<20;i++)); do dd if=/dev/sda of=/dev/null skip=$((i*100)) bs=1M count=100 & done。これを実行して、トップを見てください。スワッピングによるI / Oが負荷とI / O待機率にどのように影響するかはわかりません。このパフォーマンスの低下は、この説明ではまったく意味がありません。
Hauke Laging 2013年

0

コンピュータには常にボトルネックがあります。そうでなければ、すべての問題はゼロタイムで解決されます。メモリのボトルネックを取り除くと、システムはディスクで待機する必要がなくなり、CPUの使用率が向上しました。

これは私のペット嫌いの1つに触れています。人気のあるセンセーションを求めているブログやレビューWebサイトは、ベンチマークの方法がわかりません。100%使用されたCPUは無駄なCPUではありません。完璧なコンピュータは、すべてのリソースをすべての作業負荷に対して100%利用することができますが、そのようなテクノロジーからは遠く離れています。しかし、私は余談です。

もちろん、オペレーティングシステムのメモリ管理に問題がある場合を除き、その可能性ははるかに低くなります。


3
ここで何が起こっているのかについて大きな誤解があると思います。4 GBと2 GBのRAMを使用すると、アプリケーションのパフォーマンスが大幅に低下します。プロセッサが「100%」使用されているということではなく、アプリケーションがほぼ機能しなくなるということです。
Trevor Seward

おそらく、ページングとコンテキスト切り替えのオーバーヘッドが原因ですか?2GBと4GBの単一の重いアプリケーションを試して実行し、そのアプリケーションのスループットが増加するかどうかを確認する必要があります。その場合は、コンテキストの切り替えが原因である可能性があります。
誕生

3
追加の利用可能な物理メモリによるコンテキスト切り替え?
Trevor Seward

私の仮説は、追加のメモリは、プロセッサーがより多くのプロセス/スレッドで同時に動作できることを意味し(ディスクI / Oまたはスワップ領域で待機する必要がないため)、したがって、より多くのプロセス/スレッドはより多くのコンテキストスイッチを意味します。もちろん、私は非常に間違っている可能性があります。
誕生

@TrevorSeward、質問は完全に異なる何かを言います。
フォンブランド2014

0

新しいRAMがDDR3-800で、古いRAMがDDR3-1066である可能性はありますか(または、新しいRAMのレイテンシはより高いですか?)

ワークロードに多くのキャッシュミスがあり、RAMに頻繁にヒットする場合、遅いRAMは大きな違いをもたらす可能性があります。このベンチマークは、-1066から-800 RAMのメモリ帯域幅に約30%の違いがあることを示しています。

http://www.tomshardware.com/reviews/core-i7-870-1156,2482-5.html

多くの違いを確認するには、ワークロードでかなりのメモリを消費する必要があります。


交換用のDIMMはKVR1333D3S9 / 4Gですが、Atomは800Mhzでしか動作しません。
Trevor Seward 2013年

Intelによると、D2700メモリコントローラーはDDR3-800または-1066 RAMで動作します(対応する最大メモリ帯域幅は6.4GB /秒および8.5GB /秒)。しかし、RAMは1333であるため、1066にダウンクロックする必要があります。
ジョニー

0

Atomが4Gを超える物理アドレス(IIRC)に対応できず、PCIアドレススペースとの衝突が原因である可能性があります。

見ていそれぞれのカーネルパラメータ(MEM *)を。彼らはおそらく私たちに問題の良い説明を与えませんが、(RAMを犠牲にして)それを解決するかもしれません。したがって、カーネルがアッパーx MiBを使用できないようにすることができます。問題が消える境界をテストできます。可能性は高いですが、PCIデバイスが4Gの直下にマップされているかどうかは不明です。それを確認することは理にかなっていますが、それを行う方法がわかりません(おそらくACPIツールまたはを介してcat /sys/devices/pci0000\:00/0000\:00*/resource)。


起動パラメータにアクセスせずに最大メモリを設定するにはどうすればよいですか?
Trevor Seward

0

このSynologyフォーラムスレッドを見たことはありますか。

http://forum.synology.com/enu/viewtopic.php?f=140&t=55105&sid=32ffe791c14c1a817869f78ec3d4300a&start=15

/etc/rc.dのパラメータを変更すると役立つと言う人がいます(インストールされているRAMの容量に基づいてvm.min_free_kybtesが設定されている場所です)。しかし、それは1GB-> 2GBアップグレードの方が多く、2GB-> 4GBではないようです。

他の人は、4GBはまったく機能しないと主張し、一方、ある人は、KVR1066D3S7 / 4Gモジュール(1066Mhz)が正常に機能する一方で、他の1333Mhzモジュールを使用している場合は問題が発生すると主張しています。

ソリューションを指摘するための明確な証拠はそれほど多くないようですが、そのDS412 +で4GBのRAMを使用した場合のパフォーマンスの低下を確認できるのはあなただけではありません。


1
それが私であり、結局min_free_kbytesを変更しても役に立たなかった。
Trevor Seward 2013年

次に、1066Mhzモジュールが機能したと言った人と一緒に行きますが、1333Mhzモジュールの人々は問題について不満を言っています-多分SynologyのBIOSは本当に1333をうまく処理しません。
ジョニー

これはIntelのUEFI実装です。
Trevor Seward

0

私の(教育された)推測では、プロセッサのキャッシュは2 GBを超えるRAMを処理できないため、それ以上インストールするとキャッシュが無効になり、パフォーマンスに大きな影響を与えます。これはクアッドコアCPUでもあるため、シングルスレッドアプリケーションは合計CPUの最大で25%しか使用できません。そのため、RAMを追加した後、CPUは増加しません。


それは良い考えです。キャッシュがディストリビューション内から無効にされているかどうかを確認する方法はありますか?
Trevor Seward 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.