Ubuntu 10.10 amd64(Maverick Meerkat)が3 GB以上のRAMに対応しないのはなぜですか?
私のマシンはToshiba P205-S6287 Intel Centrino Duo 64ビットプロセッサーと667 MHzの4 GB RAMです。
詳細な仕様によると、ノートブックは64ビットCore 2 Duo T5300プロセッサを実行し、945GM Expressチップセットを備えています。
uname -a
言うの?
Ubuntu 10.10 amd64(Maverick Meerkat)が3 GB以上のRAMに対応しないのはなぜですか?
私のマシンはToshiba P205-S6287 Intel Centrino Duo 64ビットプロセッサーと667 MHzの4 GB RAMです。
詳細な仕様によると、ノートブックは64ビットCore 2 Duo T5300プロセッサを実行し、945GM Expressチップセットを備えています。
uname -a
言うの?
回答:
これは、ラップトップのモバイルインテル945GM Expressが原因です。
同じチップセットを使用するThinkpad T60を所有しています。Core2Duo 64ビットCPU向けのIntelの最初のノースブリッジの1つでした。彼らはそれを設計することに失敗しました。
チップセットは理論的には4GBのRAMしかアドレスできませんが、他のハードウェア(I / Oメモリ)もアドレスする必要があります。それのために上位1GBのメモリ範囲を予約します。メインボードとノースブリッジはCPUへの32ビットの物理アドレスバスしか提供しないため、Linuxカーネルでの64ビットの論理メモリアドレスのサポートは役に立ちません。そして、回避策はありません。
http://forums.lenovo.com/t5/T61-and-prior-T-series-ThinkPad/Thinkpad-s-and-N100-sw-945PM-chipset-can-t-address-gt-3G-Ram/ mp / 2730
メモリバンクの切り替えを考案する際には、理論的なオプションがあります。しかし、カーネルはそれをサポートしておらず、x86アーキテクチャでは意味がありません。945GMのi810メモリコントローラーは、多分それが意味をなさないほど面倒です。
私の短い答えは次のとおりです。おそらくBIOS設計者がずさんなためです。
長いアンサーは:
4 GBのRAMがインストールされていますが、Intel 945GMチップセットで4 GBの使用可能なRAMが利用できるとは期待できません。これはチップセットの制限です。これは、チップセットの仕様からわかります。
セクション9.2からの引用: " MエモリーC ontroller Hの UBSは、最大4 GB DRAMアドレスデコード空間を提供ザMCHがリマップAPICまたはPCI Expressメモリ空間ないこの手段物理メモリの量がシステムに到達に取り込まれるようになります。。 4 GB、物理メモリは存在しますが、アドレス指定ができないため、システムで使用できません。」
BIOSは、BIOS自体、PCIおよびPCI Expressメモリマップスペース、内部グラフィックス、APICメモリスペース、およびI / Oアクセス用の他のメモリウィンドウなど、いくつかのリソースのアドレス範囲を予約する必要があります。これらのアドレス範囲はすべて4GBのアドレススペース内にある必要があり、システムメモリで使用できないアドレス範囲を占有します。これらのリソースは物理RAMメモリ空間を「盗む」と言えます。
そうは言っても、4 GBがインストールされている場合は、3 GBを超えるシステムメモリが利用できると予想できます。
システムで使用できる物理メモリの量は、BIOS設計者がこれらのアドレス範囲の配置に費やす労力に依存します。たとえば、BIOSは各リソースに必要な最小量を割り当てることができます。または、システムでのPCI Expressデバイスの使用状況に応じて、PCI Expressのアドレス割り当てを無効化または制限することもできます。
システムのBIOS設計者は、4 GBをインストールした場合でも、使用可能なRAMの上限を静的な最大3 GBに設定している可能性があります。このアプローチは、BIOSデザイナーに1GBの静的アドレスウィンドウを提供するため、BIOSデザイナーのタスクを簡素化して、リソースのアドレス範囲を割り当て、他のアドレス範囲と競合しないようにします。
psusiは正しいです。
私も同じ状況です:
彼らはそれを「64ビットCPU」と呼んでいますが、4 GB以上のメモリをアドレス指定できないことがよくあります。
ほとんどの古いマザーボードはアドレス用に32ビットしか持っておらず、このプールからグラフィックカードもアドレスを取得する必要があります。
= 4 GB-グラフィックカードメモリ(1 GB)= 3 GB。
何かのファームウェアにパッチを当てたり、アップグレードしたりすることでこれを修正する可能性はないと私は恐れています。
詳細に興味がある場合は、以下をお勧めします:物理アドレス拡張
uname -a
、の出力をfree -m
しても、あなたのdmidecodeのを見て、ラムアクティブの3ギガバイト以上持っていることを確認してください。