Mengapa lebih dari 3 GB RAM tidak dikenali saat menggunakan AMD64?

8

Mengapa Ubuntu 10.10 amd64 (Maverick Meerkat) tidak membahas lebih dari 3 GB RAM?

Mesin saya adalah prosesor Intel Centrino Duo 64 bit Toshiba P205-S6287 dan 4 GB RAM pada 667 MHz.

Menurut spesifikasi terperinci , notebook menjalankan prosesor Core 2 Duo T5300 64-bit dan memiliki chipset 945GM Express.

Peter Mortensen
sumber
3
Ini adalah misteri, dapatkah Anda melaporkan output uname -a, output free -mdan juga mengkonfirmasi bahwa Anda memiliki lebih dari 3GB ram aktif dengan melihat dmidecode Anda.
Martin Owens -doctormo-
1
Dan Anda yakin Anda memiliki Ubuntu versi 64bit. Apa yang uname -adikatakan?
Vojtech Trefny
masalah yang sama, optiplex gx620 5 Gb Ram

Jawaban:

16

Ini karena Mobile Intel 945GM Express di laptop Anda.

Saya memiliki Thinkpad T60, yang menggunakan chipset yang sama. Itu adalah salah satu northbridges pertama dari intel untuk Core2Duo 64-bit CPU. Mereka gagal mendesainnya.

Chipset hanya dapat secara teoritis mengatasi 4GB RAM, namun juga harus mengatasi perangkat keras lain (memori I / O). Ini cadangan rentang memori 1GB atas untuk itu. Dukungan alamat memori logis 64bit di kernel Linux tidak membantu, karena mainboard dan northbridge hanya menyediakan bus alamat fisik 32bit ke CPU. Dan tidak ada solusi.
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

Ada opsi teoretis dalam merancang peralihan bank memori. Namun kernel tidak mendukungnya, juga tidak masuk akal pada arsitektur x86. Pengontrol memori i810 dari 945GM mungkin terlalu malas untuk itu masuk akal.

mario
sumber
1

Jawaban singkat saya adalah: kemungkinan karena perancang BIOS ceroboh.

The long anwser adalah:

Meskipun Anda memiliki RAM 4GB yang diinstal, Anda tidak dapat berharap memiliki 4GB RAM yang dapat digunakan tersedia dengan chipset Intel 945GM. Ini adalah batasan chipset. Anda dapat mengetahui ini dari spesifikasi chipset:

http://www.intel.com/content/www/us/en/intelligent-systems/navy-pier/mobile-945-express-chipset-datasheet.html

Mengutip dari bagian 9.2: " The M Emory C ontroller H . UBS menyediakan maksimal DRAM ruang alamat decode dari 4 GB The KIA tidak APIC remap atau ruang memori PCI Express cara ini bahwa sebagai jumlah memori fisik penduduk dalam mencapai sistem. 4 GB, akan ada memori fisik yang ada namun tidak dapat dialamatkan dan karenanya tidak dapat digunakan oleh sistem. "

BIOS harus mencadangkan rentang alamat untuk beberapa sumber daya, yaitu BIOS itu sendiri, ruang dipetakan memori PCI dan PCI Express, grafik internal, ruang memori APIC dan jendela memori lainnya untuk akses I / O. Semua rentang alamat ini harus berada dalam ruang alamat 4GB dan karena itu menempati rentang alamat yang tidak lagi tersedia untuk memori sistem. Bisa dibilang sumber daya ini "mencuri" ruang memori RAM fisik.

Yang sedang berkata, jika Anda telah menginstal 4GB Anda dapat mengharapkan untuk memiliki lebih dari 3GB memori sistem yang tersedia .

Jumlah memori fisik yang tersedia untuk sistem tergantung pada seberapa banyak upaya perancang BIOS dalam mengatur rentang alamat tesis. Misalnya, BIOS dapat mengalokasikan jumlah paling sedikit yang dibutuhkan untuk setiap sumber daya. Atau itu dapat memungkinkan untuk menonaktifkan atau membatasi alokasi alamat untuk PCI Express tergantung pada penggunaan perangkat PCI Express sistem Anda.

Perancang BIOS sistem Anda kemungkinan mengatur batas atas RAM yang dapat digunakan menjadi maksimum 3GB meskipun Anda memasang 4GB. Pendekatan ini memberikan jendela alamat statis 1GB ke perancang BIOS dan dengan demikian menyederhanakan tugas perancang BIOS untuk mengalokasikan rentang alamat untuk sumber daya sehingga tidak bertentangan dengan rentang alamat lainnya.

Daniel K.
sumber
1

Ada beberapa kemungkinan alasan.

Pertama adalah bahwa Anda sebenarnya tidak menjalankan build amd64. Lain adalah bahwa motherboard dan / atau BIOS Anda rusak dan tidak melaporkan jumlah RAM yang benar.

Lain adalah bahwa Anda memiliki memori video dan sumber daya perangkat keras lainnya yang mengambil ruang di area 3-4 GB memori, dan motherboard / BIOS Anda tidak mampu mengangkat RAM yang teduh ke alamat yang lebih tinggi sehingga dapat diakses.

Mencari tahu yang membutuhkan melihat dmesgoutput Anda .

psusi
sumber
0

psusi benar.

Saya memiliki situasi yang sama di sini:

Meskipun mereka menyebutnya "64-bit CPU" Anda sering tidak dapat mengatasi memori 4 GB +.

Kebanyakan motherboard lama hanya memiliki 32 bit untuk alamat dan dari kumpulan ini kartu grafis perlu mendapatkan alamat mereka juga.

= 4 GB - memori kartu grafis (1 GB) = 3 GB.

Saya khawatir tidak ada kemungkinan untuk memperbaikinya dengan menambal atau memutakhirkan firmware apa pun.

Jika Anda tertarik dengan detail, saya sarankan: Ekstensi Alamat Fisik

aatdark
sumber
Juga: Jika memungkinkan, pemasang 32 bit yang normal akan secara otomatis mengaktifkan kernel Extension Alamat Fisik jika diperlukan, memungkinkan Anda untuk menggunakan semua memori Anda.
Stefano Palazzo
Seperti yang telah diberitahukan oleh @StefanoPalazzo dan yang lainnya menginstal kernel PAE memecahkan masalah. Hanya mencari kernel PAE di manajer paket sinaptik dan instal: hailubuntu.blogspot.com/2010/09/ubuntu-detecting-less-ram.html
wisemonkey
1
@wisemonkey: tidak ada kernel PAE tidak memberi saya 4GB penuh. Karena saya sudah menggunakan kernel 64bit dan bahkan laporan bios: total 4GB -> 3,2GB bisa digunakan.
aatdark
@aatdark: Apakah pengaturan BIOS Anda memiliki bidang "Memori video bersama"? Jika ya dapat Anda menonaktifkannya (hanya disarankan jika Anda memiliki kartu grafis diskrit) tetapi sekali lagi seperti yang Anda katakan jika komputer yang lama maka memori lengkap tidak dialamatkan.
wisemonkey
1
"Chipset basis Intel Intel® 945 menyediakan ruang alamat maksimum 4GB dan tidak mendukung pemetaan ulang memori. Karena bagian dari alamat itu perlu dicadangkan untuk perangkat lain, Anda tidak akan dapat menggunakan lebih dari 3,2 GB memori sistem dengan konfigurasi sistem Anda saat ini. Tidak ada Pembaruan BIOS atau sistem operasi 64 Bit yang akan mengubah itu. Ini adalah chipset daripada batasan papan atau BIOS. "
aatdark