Saya memiliki RAM 2x2 GiB terpasang.
Menjalankan memtest86
dari menu boot grub mengkonfirmasi ini .. memtest86 melaporkan tidak ada kesalahan.
Namun bagaimanapun saya memeriksa memori saya yang tersedia dalam sistem Ubuntu 10.04 yang berjalan, hanya melaporkan sekitar 3,2 GiB.
cat /proc/meminfo
== 3320132 kBSystem Monitor
== 3,2 GiBhtop
== 3242 MBfree -m
== 3242 MB
Siapa yang kehilangan RAM saya ?
Info yang diperbarui: Saya baru saja dual- boot ke versi lain dari Ubuntu 10,04 pada perangkat keras yang sama (saya lupa saya telah menginstalnya beberapa bulan yang lalu, untuk keadaan darurat):) .... Ini melaporkan 3,9 GiB, melalui System Monitor
...
Saya telah memposting /var/log/messages
informasi terbaru saya di http://pastebin.ubuntu.com/629246/
/var/log/messages
, tetapi saya telah memposting informasi terbaru saya di sini: pastebin.ubuntu.com/629246 .. mungkin seseorang dapat membuat kepala-atau-ekornya :)Jawaban:
Ruang alamat 32-bit berarti Anda memiliki ruang untuk 4GB alamat. Idealnya kernel suka bisa memetakan semua memori fisik, semua memori dari tugas saat ini, dan semua memori sendiri. Jika memori fisik saja mengambil semua 4GB yang tersedia, itu tidak akan berfungsi. Jadi memori fisik dibagi menjadi memori rendah, yang dipetakan sepanjang waktu, dan memori tinggi, yang harus dipetakan saat digunakan. Kecuali Anda menjalankan kernel yang ditambal, pada arsitektur ix86, ruang alamat 128MB dikhususkan untuk kode kernel dan struktur data, dan 896MB dikhususkan untuk memetakan memori fisik (untuk total 1GB).
Bacaan latar belakang tentang kompleksitas manajemen memori ketika ruang alamat Anda tidak lebih nyaman dari total memori Anda:
Kutipan dari log kernel Anda:
Di sini Anda memiliki memori rendah 887MB: maksimum teoritis 896MB dikurangi beberapa MB buffer DMA (zona memori yang digunakan untuk berkomunikasi dengan perangkat perangkat keras).
Dari memori fisik Anda, 3328MB dipetakan pada alamat di bawah 4GB dan 768MB dipetakan pada alamat di atas 4GB (kisaran 0x100000000–0x130000000). Anda tidak mendapatkan akses ke 768MB ini, yang menjelaskan mengapa Anda hanya memiliki 3242MB yang tersedia (4096MB RAM minus 768MB tidak dapat diakses dikurangi 9MB buffer DMA minus 75MB yang digunakan oleh kernel itu sendiri untuk kode dan data). Saya tidak tahu mengapa BIOS memetakan beberapa RAM di atas tanda 4GB, tetapi sebagai titik data, saya memposting ini dari PC dengan 4GB RAM yang juga memiliki RAM yang dipetakan pada 0x100000000–0x130000000.
Memetakan memori fisik di atas 4GB membutuhkan penggunaan PAE . PAE mengeluarkan overhead kinerja kecil (khususnya, ini membutuhkan struktur data yang lebih besar di manajer memori), sehingga tidak diaktifkan secara sistematis. Kernel Ubuntu default dikompilasi tanpa dukungan PAE. Dapatkan
-generic-pae
kernel untuk dapat mengakses hingga 64GB RAM.TL, DR: Linux berfungsi seperti yang diharapkan. Firmware tidak begitu membantu. Dapatkan kernel yang mendukung PAE.
sumber
linux-image-2.6.32-32-generic-pae
, danhtop
sekarang melaporkan3990 MiB
Mungkin itu karena arsitektur Ubuntu Anda adalah i386 (versi 32 bit). Apa hasilnya saat Anda berlari
uname -a
?sumber
uname -a
... Linux DT9400 2.6.32-32-generic # 62-Ubuntu SMP Rabu 20 April 21:54:21 UTC 2011 i686 GNU / Linux ... Namun, ketika saya metioned di "Info Diperbarui:" di pencarian saya, instalasi 10-bit 32-bit dual-boot lain menunjukkan 3,9 Gib .. Kedua sistem dual-boot diinstal dari CD yang sama, tetapi saat ini menjalankan kernel yang berbeda, dan memiliki program yang berbeda diinstal ... BTW, ini bukan kejadian baru-baru ini, Telah menunjukkan 3,2 GiB selama berbulan-bulan ..