Berapa jumlah maksimum RAM yang dapat saya gunakan pada perangkat keras tertentu

26

Saya sudah memiliki Notebook Asus U31SD dengan CPU i5-2430M . Situs Asus mengatakan bahwa RAM maksimum adalah 8 GB, tetapi Intel mengatakan CPU saya mendukung 16 GB. Berapa RAM maksimum yang dapat saya gunakan pada sistem ini di Ubuntu?

Crond
sumber
3
Untuk meringkas apa yang dikatakan semua orang, notebook Anda hanya dapat menggunakan 8GB RAM, karena keterbatasan motherboard Anda. Anda dapat memverifikasi ini dengan melihat pertanyaan ini: askubuntu.com/questions/140322/…
reverendj1
untuk semua orang, saya ingin menunjukkan bahwa perusahaan penghasil memori "corsair" memiliki pencari lokasi memori yang dapat memberi tahu Anda secara umum berapa jumlah maksimum RAM yang dapat digunakan oleh sistem Anda. Anda juga dapat membaca lembar teknologi untuk sistem model Anda dengan mencari secara online, itu akan memberi tahu Anda RAM maks yang dapat Anda gunakan.
Thomas Ward
@The Lord of Time: ada tautan?
0xC0000022L
Corsair Memory Finder / Configurator untuk sistem yang dirujuk dalam pertanyaan: www2.corsair.com/configurator/… || Corsair Memory Finder (halaman awal): corsair.com/us/learn_n_explore (Mereka akan mengiklankan produk mereka, tetapi saya dapat menggunakan ini sebagai dasar umum untuk menemukan spesifikasi semi-akurat untuk memori-maksimal
Thomas Ward

Jawaban:

29

Batas sebenarnya antara perangkat keras Anda (dukungan memori Motherboard dan jumlah slot di dalamnya) dan versi Ubuntu (32 Bit, 32 Bit + PAE, x32ABI, 64 Bit)

Jika Anda memiliki motherboard yang mendukung maksimum 4GB, tidak masalah jika Anda menggunakan 32 Bit, 32 Bit PAE atau 64 Bit karena Anda akan memiliki batas perangkat keras 4GB.

Tetapi jika Anda membeli motherboard yang mendukung jumlah memori yang lebih tinggi, Anda dapat bermain-main dengan versi Ubuntu, yang memiliki memori yang didukung maksimum berikut:

Ubuntu 32 Bit - 4GB RAM

Ubuntu 32 Bit + PAE (Ekstensi Alamat Fisik) - 64GB RAM

Ubuntu x32ABI - RAM 4GB (Ini untuk arsitektur 32 Bit yang dimodifikasi dengan peningkatan 64 Bit yang berjalan pada perangkat keras 64 Bit. Ini belum tersedia.)

Ubuntu 64 Bit - BANYAK! (Sebenarnya 2 ^ 64) tetapi karena batas perangkat keras dan komputer dunia nyata batasnya sekitar 1TB (RAM 1024GB)

Jadi pertanyaan tentang batas memori harus digunakan ketika Anda menggunakan lebih dari 4GB RAM. Dalam hal ini yang Anda perlukan, baik 32 Bit PAE atau 64 BIT yang mendukung ukuran memori sangat besar.

Juga perhatikan bahwa jika Anda memiliki misalnya 4GB sekarang, dan Anda membeli ram 16GB, tidak perlu menginstal ulang Ubuntu atau melakukan perubahan apa pun. Ubah saja ingatan dan Ubuntu harus membaca dan bekerja dengannya di luar kotak. Tidak diperlukan konfigurasi. Jika Anda memiliki 32 Bit dengan 4 GB RAM dan Anda menginstal 16GB atau RAM, Ubuntu secara otomatis akan berubah dari 32 Bit ke 32 Bit PAE. Saya dapat menjamin ini sejak saya pindah dari 4GB ke 16 GB pada awal tahun ini.

Berikut ini tautan ke penjelasan yang sangat bagus untuk Ubuntu tentang memori di 32/64: https://help.ubuntu.com/community/32bit_and_64bit#Memory

PEMBARUAN - Lupa menambahkan bahwa beberapa motherboard memiliki pembaruan BIOS yang memungkinkan, memperbaiki atau meningkatkan memori maksimum yang didukung. Sebagai contoh, beberapa motherboard Intel di masa lalu memiliki masalah bekerja dengan maksimal yang mereka dukung. Pembaruan BIOS memperbaiki ini. Motherboard lain memiliki dukungan untuk 4GB karena masalah BIOS, setelah memutakhirkan mereka memiliki dukungan untuk lebih dari 4GB.

Juga membandingkan memori yang didukung Maksimum untuk CPU dan Motherboard, Maksimum yang dapat Anda miliki adalah Minimum dari semuanya. Jadi misalnya:

KASUS 1
Memori Maksimum yang Didukung CPU - Motherboard 16GB
Memori yang Didukung Maksimum - 8GB Memori
Yang Didukung Maksimum Anda - 8GB (Karena nilai terendah antara CPU dan Motherboard)

KASUS 2
Memori Maksimum yang Didukung CPU - Motherboard 16GB.
Memori yang Didukung Maksimum - 32GB
. Memori Yang Didukung Maksimum Anda - 16GB (Karena nilai terendah antara CPU dan Motherboard)

KASUS 3
Memori yang Didukung Maksimum CPU - Motherboard 16GB
Memori yang Didukung Maksimum - 64GB
Memori yang Didukung Maksimum Anda - 16GB (Karena nilai terendah antara CPU dan Motherboard)

Alasan di balik hubungan Batas Memori ini dengan CPU adalah karena modifikasi teknis oleh Intel dengan CPU Core terbaru.

Jadi dalam kasus Anda, Anda memiliki motherboard yang mendukung 8GB dan CPU yang mendukung 16GB. Ini berarti maksimum yang dapat Anda miliki adalah 8GB yang dapat Anda gunakan tergantung pada jumlah slot di motherboard. Di Asus Anda memiliki 2 Slot, yang berarti Anda dapat memiliki dua RAM 4GB untuk menyelesaikan Maksimum 8GB.

Info Lebih Lanjut tentang x32abi:

KernelNewbies - http://kernelnewbies.org/Linux_3.4#head-039c9d273884c9639937c10d68b4a3214869eb4b

LWN - https://lwn.net/Articles/456731/ (Rekomendasikan membaca komentar agar mudah dipelajari penjelasan tentang batas memori)

Google - http://sites.google.com/site/x32abi/

Terakhir, sejak Ubuntu 12.04, semua versi 32 Bit Ubuntu datang dengan PAE diaktifkan secara default sehingga semua 32 Bit akan mendukung maksimum 64 GB RAM. Jika Anda menggunakan 12.04+ dan ingin tahu arsitektur mana yang digunakan, Anda sekarang tahu bahwa Anda dapat menggunakan salah satu dari mereka selama Anda mengikuti beberapa rekomendasi:

  • Jika Anda memiliki RAM 512 MB atau kurang, sangat disarankan untuk menggunakan 32 Bit

  • Jika Anda memiliki kurang dari 4 GB RAM tetapi lebih dari 512 MB disarankan untuk menggunakan 32 Bit (Tapi Anda masih bisa menggunakan 64 Bit)

  • Jika Anda memiliki RAM 4 GB disarankan untuk menggunakan 32 Bit (Tapi Anda masih bisa menggunakan 64 Bit)

  • Jika Anda memiliki antara 4 GB atau RAM dan 64 GB RAM Anda dapat menggunakan 32 Bit atau 64 Bit, tetapi disarankan untuk menggunakan 64 Bit.

  • Jika Anda memiliki lebih dari 64 GB RAM, Anda harus menggunakan 64 Bit

Luis Alvarado
sumber
Luis yakin dengan batas 4 GB di x32? Ini akan menyedihkan. Saya membaca di sebuah artikel (majalah Jerman) bahwa x32 mendukung lebih dari 4 GB. Juga bagaimana dengan PAE?
turbo
@turbo - Itu adalah pertanyaan yang sangat bagus yang membuat saya perlu waktu untuk menemukannya. Saya menjawab dengan 4GB karena bagian dari penjelasan "Apa itu x32abi?": X32 ABI memungkinkan untuk menjalankan program dalam mode 64-bit dengan pointer 32-bit. Karena ini bekerja dengan pointer 32 Bit, ini berarti bahwa memori maksimum yang benar-benar dapat digunakan untuk bekerja adalah 4GB. Tentu saja, saya tidak tahu apakah ada mode PAE x32abi tetapi karena ini adalah cara untuk menjalankan program 32 Bit untuk mengambil beberapa kelebihan 64 Bit tanpa menggunakan ram ganda untuk tugas, saya menyimpulkan bahwa itu dibatasi oleh 32 Bit hingga 4GB ram.
Luis Alvarado
1
Sebenarnya batas untuk 64 bit adalah 2 ^ 48 byte, dan x32 adalah sama, hanya terbatas pada 4 GB per proses , untuk proses x32. x32 menjalankan kernel 64 bit, sehingga ia dapat menjalankan beberapa program 64 bit penuh, tetapi x32 membangun sebagian besar program untuk hanya menggunakan 32 bit.
psusi
6

Untuk 32 bit batas teoretis adalah 2 ^ 32 = 4096 MB, tetapi dari Ubuntu 12.04 pada PAE (Ekstensi Alamat Fisik) diaktifkan secara default dengan batas 2 ^ 36 = 64 GB.

Untuk 64 bit seharusnya 2 ^ 64 = 16 777 216 TB (ya itu Terabyte) secara teoritis. Pada kenyataannya jumlah RAM terbatas pada 2 ^ 48 alias 256 TB RAM.

Karena batas teoritis tidak dapat benar-benar dicapai dalam laptop normal, batasan sebenarnya adalah jumlah slot memori (biasanya 1-2) di notebook Anda dan dukungan oleh chipset. 8-16 GB realistis di sini jika Anda bersedia membayar uang serius untuk modul 8 GB.

turbo
sumber
Jadi saya bisa membeli modul 2x 8gb dengan aman dan mengharapkannya bekerja? (Saya menjalankan 64bit, saat ini dengan ram 8gb)
crond
Baiklah aman ...; P Notebook Lain dengan Intel HM65 Express Chips mendukung 16 GB (Asus G74SX-TZ293V) jadi ya.
turbo
6

Saya baru saja membeli 8GB tambahan untuk pop dalam U31SD saya, dengan total 12GB. Meskipun halaman spesifikasi Asus mengatakan 8GB adalah batasnya, ini berfungsi dengan baik. Lulus memtest86 dan dapat dilihat oleh 64bit Ubuntu.

Saya memiliki pembaruan BIOS terbaru yang diinstal, tidak yakin apakah itu membuat perbedaan.

FYI, output sudo dmidecode -t 16mengindikasikan Maximum Capacity: 16 GB.

pengguna77303
sumber
1

Ini adalah batasan pada motherboard bukan pada CPU. CPU mungkin dapat mendukung hingga 16GB tetapi jika motherboard hanya dapat mengambil 8GB maka itu batas Anda.

Di Ubuntu jika Anda menjalankan 32-bit maka batas Anda adalah 4GB dan jika Anda menjalankan 64-bit itu jauh lebih tinggi (tidak dapat mengingat dengan pasti tetapi jauh di atas 16GB.

Tetapi Anda akan selalu dibatasi oleh perangkat keras Anda. Anda harus selalu membandingkan batas motherboard dan batas CPU dan mengambil nilai terendah sebagai batas PC.

Yakub Tomlinson
sumber
0

Dalam kasus spesifik Anda, 8 GB adalah karena motherboard Anda tidak mendukung lebih dari jumlah RAM.

Tetapi Ubuntu sendiri mendukung 4 GB maks untuk 32 bit, 64 GB pada 32-bit PAE dan 128 GB pada 64 bit (walaupun secara teoritis tutupnya jauh lebih tinggi untuk 64 bit).

MuffinStateWide
sumber
0

ada banyak pertanyaan apa yang menentukan ukuran pointer. pada dasarnya sebagai aturan praktis Anda dapat mengatakan ini adalah arsitektur prosesor,

x86 -> 4 bytes pointer -> can address 4,294,967,296 locations = 4GB (it is the limit)

x64 -> 8 bytes pointer -> can address 1.84467440737e+19 locations (it is the limit, big, eh)

Untuk mengatasi 8GB RAM, Anda perlu 8.589.934.592 pemetaan dan penunjuk ukuran 4 byte tidak dapat menangani semua nilai yang mungkin. jadi ini sebabnya saya tidak dapat memiliki lebih dari 4GB RAM pada arsitektur x86.

Namun ada beberapa kemungkinan lain:

Jumlah RAM tidak dibatasi oleh arsitektur (32 atau 64 bit). Arsitektur hanya memutuskan berapa banyak memori yang dapat ditangani pada suatu waktu, oleh OS dan program yang berjalan di atasnya. Pada mesin 32-bit, yaitu, mesin dengan bus memori lebar 32-bit, OS dan program dapat "melihat" hanya 4 GB memori. Tapi itu tidak berarti hanya ada 4 GB RAM. Jika pabrikan telah menyediakannya, Anda dapat memiliki RAM 16 GB atau 4x4 GB. Dalam hal ini, akan ada 2 garis alamat "tersembunyi" dan juga ada logika hardcoded untuk menentukan level 2 saluran tersebut, sehingga memilih salah satu dari 4 GB RAM yang tersedia - 00 01 10 11. Bit alamat "tersembunyi" ini tidak digunakan oleh lapisan perangkat lunak, jadi untuk lapisan ini, mereka hanya dapat menggunakan pointer 4-byte. Jumlah "tersembunyi" ini

Ini hanya satu contoh. Itu tergantung pada vendor, bagaimana mereka memutuskan untuk menyediakan RAM ekstra.

Lihat juga:

Dalam kasus biasa, sebuah pointer cukup besar untuk menampung lebih banyak alamat daripada ada unit memori dalam sistem. Ini memperkenalkan kemungkinan bahwa suatu program dapat mencoba mengakses alamat yang tidak sesuai dengan unit memori, baik karena tidak cukup memori yang dipasang (yaitu di luar jangkauan memori yang tersedia) atau arsitektur tidak mendukung alamat tersebut. Kasus pertama dapat, dalam platform tertentu seperti arsitektur Intel x86, disebut kesalahan segmentasi (segfault). Kasus kedua adalah mungkin dalam implementasi AMD64 saat ini, di mana pointer 64 bit panjang dan alamat hanya meluas hingga 48 bit. Di sana, pointer harus sesuai dengan aturan tertentu (alamat kanonik), jadi jika pointer noncanonical dereferensi, prosesor menimbulkan kesalahan perlindungan umum.

Di sisi lain, beberapa sistem memiliki lebih banyak unit memori daripada alamat. Dalam hal ini, skema yang lebih kompleks seperti segmentasi memori atau paging digunakan untuk menggunakan berbagai bagian memori pada waktu yang berbeda. Inkarnasi terakhir arsitektur x86 mendukung hingga 36 bit alamat memori fisik, yang dipetakan ke ruang alamat linear 32-bit melalui mekanisme paging PAE. Dengan demikian, hanya 1/16 dari total memori yang mungkin dapat diakses sekaligus. Contoh lain dalam keluarga komputer yang sama adalah mode terproteksi 16-bit dari prosesor 80286, yang, meskipun hanya mendukung 16 MiB memori fisik, dapat mengakses hingga 1 GiB memori virtual, tetapi kombinasi alamat dan segmen 16-bit register membuat pengaksesan lebih dari 64 KiB dalam satu struktur data rumit.

Untuk menyediakan antarmuka yang konsisten, beberapa arsitektur menyediakan I / O yang dipetakan dengan memori, yang memungkinkan beberapa alamat merujuk ke unit memori sementara yang lain merujuk ke register perangkat dari perangkat lain di komputer. Ada konsep analog seperti offset file, indeks array, dan referensi objek jarak jauh yang melayani beberapa tujuan yang sama dengan alamat untuk jenis objek lainnya.

(lebih lanjut di sini )

4pie0
sumber