Baru-baru ini saya meningkatkan RAM komputer saya menjadi 4 GB. Instalasi Windows 32-bit saya hanya menampilkan memori 3574 MB. Bagaimana saya bisa membuat Windows menggunakan jumlah penuh RAM?
Baru-baru ini saya meningkatkan RAM komputer saya menjadi 4 GB. Instalasi Windows 32-bit saya hanya menampilkan memori 3574 MB. Bagaimana saya bisa membuat Windows menggunakan jumlah penuh RAM?
Jawaban:
Kamu tidak bisa:
Lihat Bung, Di mana RAM 4 Gigabita Saya?
jika Anda ingin memasukkan memori dan perangkat ke dalam kisaran alamat 32-bit: tidak semua ruang alamat 4GB yang tersedia dapat diberikan ke memori.
Jadi apa yang sebenarnya terjadi jika Anda keluar dan membeli memori 4GB untuk PC Anda?
Ada lubang di peta memori Anda untuk IO. (Sekarang hanya 25% dari total ruang alamat, tapi ini masih lubang besar.) Jadi 3GB memori Anda yang paling bawah akan tersedia, tetapi ada masalah dengan 1GB terakhir.
Satu-satunya solusi praktis adalah menginstal sistem operasi 64-bit. Di Windows Vista dan yang lebih baru, kunci lisensi 32-bit dan 64-bit dapat dipertukarkan. Jika Anda bisa mendapatkan media instalasi Windows untuk versi 64-bit dari sistem operasi Anda, Anda dapat menginstal ulang menggunakan kunci lisensi asli Anda.
Pertama, Windows XP (32bit) hanya mendukung 4 GB. Itu tidak hanya berlaku untuk Windows XP. Sebaliknya, ini berlaku untuk desktop Windows 32bit - sistem Linux 32bit dengan PAE dan banyak edisi Windows Server 32bit mendukung lebih dari 4GB per artikel yang ditautkan. Anda tidak akan pernah melihat lebih dari 4 GB jika Anda menggunakan Windows XP 32-bit. Namun, saya memang menemukan alasan yang lebih detail mengapa sistem Anda menunjukkan ram yang tersedia kurang dari apa yang sebenarnya diinstal.
Dari Masalah RAM 3GB-bukan-4GB (blog Microsoft MSDN):
Karena keputusan arsitektur yang dibuat sejak lama, jika Anda memiliki 4GB RAM fisik terpasang, Windows hanya dapat melaporkan sebagian dari 4GB fisik RAM (berkisar dari ~ 2,75GB hingga 3,5GB tergantung pada perangkat yang dipasang, chipset motherboard & BIOS).
Perilaku ini disebabkan oleh "reservasi IO yang dipetakan memori". Pemesanan tersebut menutupi ruang alamat fisik dan menyamarkan alamat fisik tersebut sehingga tidak dapat digunakan untuk memori kerja. Ini tidak tergantung pada OS yang berjalan pada mesin.
Potongan signifikan dari ruang alamat di bawah 4GB (alamat tertinggi yang dapat diakses melalui 32-bit) disediakan untuk digunakan oleh perangkat keras sistem:
- BIOS - termasuk ACPI dan dukungan video lawas
- PCI bus termasuk jembatan dll.
- Dukungan PCI Express akan mencadangkan setidaknya 256MB, hingga 768MB tergantung pada memori yang dipasang kartu grafis
Artinya, sistem biasanya dapat melihat antara ~ 256MB dan 1GB ruang alamat di bawah 4GB yang disediakan untuk penggunaan perangkat keras yang tidak dapat diakses oleh OS. Spesifikasi chipset Intel cukup bagus dalam menjelaskan kisaran alamat yang disediakan secara default dan dalam beberapa kasus menyebutkan bahwa 1.5GB selalu dicadangkan dan karenanya tidak dapat diakses oleh Windows.
Ada informasi lebih lanjut jika Anda memeriksa sumbernya. Namun, Anda mungkin dapat memanfaatkan 8 GB penuh yang diinstal jika Anda mengikuti instruksi ini .
Berbicara dari pengalaman pribadi, ini bukan masalah baru. Saya mengalami masalah yang sama beberapa tahun yang lalu ketika saya membangun sistem Windows Vista 4-bit 32-bit ketika Vista pertama kali dirilis. Ada banyak posting forum online terkait dengan topik yang sama ini.
Baca juga Microsoft KB 929605 - Memori sistem yang dilaporkan dalam kotak dialog Informasi Sistem di Windows Vista kurang dari yang Anda harapkan jika RAM 4 GB diinstal .
Jika Anda menggunakan Windows XP 32bit, maka itu tidak mungkin. Karena Ruang Alamat tidak cukup tersedia untuk memanfaatkan RAM tambahan
Solusi terbaik adalah meng-upgrade ke Versi 64-Bit Windows karena mendukung 4+ GB RAM.
2^32
cukup "address space" agar pas dengan 4 GiB. Anda salah mengalamatkan ruang dan memori fisik. Setiap proses pada versi Windows modern melihat ruang alamat 4 GiB penuh meskipun biasanya hanya 2 GiB dapat digunakan karena partisi UM / KM ruang alamat virtual.
Seperti yang dikatakan orang lain, itu tidak mungkin.
Penjelasan:
Setiap bagian dari memori memiliki alamat. Sistem operasi menentukan panjang alamat. Untuk sistem operasi yang lebih lama, panjang alamatnya adalah 32 bit, yang hanya memungkinkan 2 ^ 32 (4 294 967 296) alamat. Sekarang, melihat angka itu, mungkin tampak seperti sistem operasi Anda harus mendukung 4 GB, tetapi semua perangkat keras lainnya (paling signifikan, ram video dalam kartu video Anda) yang memiliki memori internal juga akan dipetakan ke dalam ruang alamat itu.
Ini seperti Anda mencoba mendistribusikan 1.200.000 nomor telepon enam digit.
Motherboard lama hanya mendukung 4Gb RAM fisik, yang modern mendukung lebih banyak. CPU Intel P4 selalu dapat mengatasi lebih dari 4Gb (dengan menggunakan sesuatu yang disebut Physical Address Extension, atau PAE)
Microstoft membuat 'keputusan pemasaran' untuk tidak mendukung lebih dari ruang alamat fisik 4Gb di versi 'klien' dari semua versi 32-bit Sistem Operasi itu - yang mencakup semuanya dari w2k hingga 32bit Windows 8 (jika Anda mengunjungi MS KB halaman Anda akan mencatat bahwa versi 32bit Server dapat mendukung lebih banyak - hingga 128GB Saya percaya dengan 32bit 'Enterprise Edition') - itulah sebabnya mengapa 'layak' OS 32bit (Linux dll) pada perangkat keras yang persis sama selalu dapat mengakses SEMUA RAM fisik.
(catatan - pengguna 32bit Win7 begitu muak dengan batas 'bodoh' ini sehingga mereka 'meretas' Kernal untuk memungkinkan kenaikan ke RAM fisik penuh .. tak perlu dikatakan, ini melanggar Lisensi Anda dan sebenarnya ilegal di AS (DCMA) )
Windows XP 32bit 'cadangan' bagian dari ruang alamat 4Gb untuk penggunaan driver. Tidak ada alasan mengapa Anda tidak dapat 'mengatasi' RAM fisik di luar 4Gb (menggunakan PAE) namun banyak DRIVER TUA di sekitar pada saat Windows XP Pro gagal melakukannya dan Anda akan mendapatkan kesalahan 'BSOD' (driver modern menggunakan PAE dengan benar dan DALAM TEORI tidak ada alasan mengapa mereka membutuhkan lebih dari sekitar 32 MB halaman ruang 'lo' (sebagai 'jendela') secara total bahkan untuk mendukung kartu Grafis 2Gb (2gb akan berada dalam ruang 'hi' yaitu di atas 4Gb menandai)
Di XP SP2, MS hampir tiga kali lipat jumlah ruang alamat 'dicadangkan' untuk driver dalam upaya untuk menghilangkan BSOD dan sejak saat itu (MS tidak ingin 'men-debug' driver == mereka ingin menjual 64bit kepada Anda. OS sebagai gantinya). Perangkat keras ACTUAL memiliki efek hampir nol pada ruang 'cadangan' ini.
SO, jika Anda memiliki 4Gb atau lebih RAM fisik, yang paling XP Pro sp2 + akan lihat adalah sekitar 3.25Gb .. sisanya DAPAT diakses menggunakan berbagai Disk RAM Drivers yang berbeda (bukan MS yang tentu saja) = pergi mencari sesuatu yang menggunakan 'Ruang Alamat Tak Terlihat' atau 'ruang 4gb tinggi' pada XP Pro) .. menggunakan '.75Gb' yang hilang 'sebagai bagian dari' memori virtual 'Anda dapat mempercepat sistem Anda ...
Perhatikan bahwa / 3G switch dapat memungkinkan aplikasi 32 bit untuk mengakses hingga 3Gb pada OS 32 bit (jika mereka memiliki flag LargeAddressAware diatur dalam header .exe mereka - dalam hal ini mereka dapat mengakses hingga 4Gb pada OS 64bit) tetapi pada XP Anda perlu menentukan / USERVA juga untuk menghentikan OS yang 'keluar' dari RAM :-)
Jika Anda ingin menggunakan 4GB yang lengkap, satu-satunya pilihan adalah meng-upgrade ke sistem operasi 64bit:
Windows XP normal hanya 32bit, dan ini membatasi memori hingga 3,5 GB maks. Periksa tautan VonC yang diposting untuk perincian tentang topik ini.
Jika Anda menggunakan grafik terintegrasi maka Anda dapat menolaknya, dan itu berarti sistem akan dapat mengatasi lebih banyak RAM sistem Anda.
Tapi, solusi terbaik pasti untuk mendapatkan OS x64.
Tidak ada alasan tidak terlalu lagian. Sebagian besar program bekerja di x64 dengan XP / Vista / 7 yang memiliki lapisan emulasi x86. Hanya driver yang mungkin menjadi masalah.
Ini adalah pertanyaan yang agak rumit karena membutuhkan beberapa komponen untuk menyelesaikannya. Komponen-komponen tersebut adalah:
Item terakhir tidak berhubungan dengan masalah secara langsung, tetapi saya telah menambahkannya demi kelengkapan.
Singkatnya, semua komponen di atas harus mendukung lebih dari 4 GB memori agar berhasil.
Mari kita mulai dengan CPU. Tapi pertama-tama penting untuk dicatat, bahwa CPU tidak memiliki kemampuan ajaib untuk menggunakan setiap memori sama sekali. Alih-alih itu bisa saja mengakses alamat apa pun dalam ruang yang bisa dialamatkan . Sekarang inilah bitness-thing. CPU 32-bit mampu mengakses alamat dalam rentang dari 0 hingga 4 GiB. Namun kisaran ini harus mengakomodasi tidak hanya RAM, ROM, SMRAM , Tabel Pemulihan Alamat Grafik yang tersedia , tetapi juga semua I / O yang dipetakan dengan Memori.dan banyak lagi, yang mungkin memerlukan bagian substansial dari kisaran alamat ini. Sebagai konsekuensinya sangat mungkin, bahwa beberapa alamat memori dibayangi oleh penggunaan tersebut dan oleh karena itu tidak tersedia untuk operasi pada RAM. Untuk mendapatkan kembali memori tersembunyi, perlu untuk menambah ruang alamat yang dapat diakses CPU . Dalam hal 32-bit CPU, Alamat Fisik Ekstensi dapat membantu. Yang memungkinkan pengalamatan hingga 64 GiB. CPU 64-bit yang beroperasi dalam mode 64-bit asli secara default dapat diakseshingga 16 EiB, yang agak besar dan tidak memerlukan trik seperti itu. Tetapi di sisi lain itu tidak praktis untuk CPU 64-bit untuk menggunakan pengalamatan 64-bit, jadi pada kenyataannya mereka masih dibatasi oleh bus alamat mereka ke kisaran yang lebih rendah dari 16 EiB.
Awalnya terletak di Northbridge , tetapi dipindahkan ke prosesor mati oleh AMD dimulai dengan prosesor AMD64 mereka dan oleh Intel dengan prosesor Nehalem mereka. Bahkan jika CPU dengan PAE mampu mengakses 64 GiB dengan sendirinya, masih membutuhkan MCU untuk mengakses RAM. Sederhananya: CPU yang mengakses alamat tertentu mendapat jawabannya baik dari perangkat PCI, BIOS ROM flash atau MCU, jika alamat yang diminta berada di RAM, dan sebagainya. Namun bukan hal yang aneh jika MCU (baik itu di Northbridge atau di CPU) untuk mendukung ruang yang jauh kurang dialamatkan dari 64 GiB untuk alasan pemasaran misalnya.
BIOS / (U) EFI juga penting karena merupakan tugas mereka untuk mengkonfigurasi perangkat keras sebelum sesuatu dapat benar-benar beroperasi. Antara lain, mereka bertanggung jawab untuk memetakan seluruh ruang prosesor yang dapat ditangani dengan rentang memori perangkat keras, bus, RAM, dan sebagainya. Menariknya mungkin terjadi bahwa seluruh RAM terpecah-pecah dan dipetakan di beberapa tempat yang tidak bersebelahan. Masalah dengan BIOS adalah bahwa pengembangnya mungkin tidak mengharapkan lebih dari 3 GiB penggunaan RAM dalam sistem mereka dan karena itu BIOS tidak akan memetakan semua memori dengan benar untuk digunakan. Kemungkinan besar ini tidak akan terjadi pada (U) EFI.
Sistem operasi juga harus mendukung mengatasi lebih dari 4 memori GiB. Untuk lebih spesifik, itu harus mengkonfigurasi CPU untuk menggunakan PAE. Beberapa OS 32-bit sangat mampu menggunakan PAE dan mengakses lebih dari 4 GiB, yang lain memiliki batas maksimum perangkat lunak pada memori maksimum, meskipun mereka memungkinkan PAE untuk meningkatkan keamanan (Windows XP menjadi contoh). Sekali lagi OS 64-bit secara alami tidak mengalami kesulitan seperti itu dan biasanya mendukung lebih dari 4 GiB memori.
Poin terakhir adalah dari dunia yang berbeda, karena aplikasi umumnya beroperasi di Ruang Alamat Virtual , saya telah menambahkannya demi kelengkapan. Meskipun demikian diperlukan beberapa langkah tambahan saat mengompilasi agar aplikasi dapat menggunakan lebih banyak memori. Secara default aplikasi 32-bit hanya mampu menggunakan memori 2 GiB. Aplikasi 32-bit yang sama dapat mengatasi memori hingga 4 GiB, asalkan OS mendukungnya dan telah mengaktifkan CPU PAE. Lebih khusus, itu bisa digunakanmemori hingga 3 GiB, yang lain 1 GiB akan dialamatkan sebagai perpustakaan umum dan kernel OS, tetapi tidak dapat ditulisi (pada akhirnya ini tergantung pada arsitektur OS daripada aplikasi itu sendiri). Sekali lagi, aplikasi 64-bit secara asli mendukung mengatasi lebih dari 4 GiB memori dan tidak memiliki masalah seperti itu pada awalnya.
Untuk menempatkan semua ini dalam perspektif, mari kita pertimbangkan beberapa contoh.
Pertimbangkan Pengontrol Memori Intel® 82945G . Situs web Intel menyatakan, bahwa itu tidak mendukung PAE dan dibatasi hingga 4 GB RAM. Mari kita berkonsultasi paragraf 9 System Address Map
datasheet. Ini memiliki banyak informasi. Paling menarik adalah Figure 9-3. Main Memory Address Range
:
dan paragraf 9.2 Main Memory Address Range (1 MB to TOLUD)
yang berbunyi sebagai berikut:
Kisaran alamat ini membentang dari 1 MB ke atas memori fisik yang diizinkan untuk dapat diakses oleh (G) KIA (seperti yang diprogram dalam register TOLUD). Semua akses ke alamat dalam kisaran ini diteruskan oleh (G) MCH ke memori utama kecuali jika jatuh ke dalam TSEG opsional, Lubang ISA opsional, atau memori VGA dicuri IGD opsional. (G) MCH menyediakan ruang dekode alamat memori utama maksimum 4 GB (2 GB untuk 82945GC / 82945GZ / 82945PL). (G) MCH tidak memetakan kembali ruang memori APIC atau PCI Express. Ini berarti bahwa ketika jumlah memori fisik yang dihuni dalam sistem mencapai 4 GB (2 GB untuk 82945GC / 82945GZ / 82945PL), akan ada memori fisik yang ada namun tidak dapat dialamatkan dan karenanya tidak dapat digunakan oleh sistem.
Seperti dikatakan, karena tidak mendukung PAE, akhirnya tidak dapat memetakan kembali PCI dan setiap MMIO lainnya di atas 4 GiB, oleh karena itu sebagian memori akan dibayangi dan tidak digunakan. Yang berarti bahwa meskipun digunakan dengan CPU yang mendukung pengalamatan 36-bit, memori di atas 4 GiB akan tetap tidak tersedia dan beberapa memori yang mendekati batas 4 GiB juga tidak akan digunakan.
Sebaliknya, mari pertimbangkan Intel® 82955X Memory Controller , yang terkait dengan yang sebelumnya, tetapi itu ditentukan untuk mendukung 8 GB yang bertentangan dengan yang sebelumnya! Paragraf datasheet 2.1 Host Interface Signals
menunjukkan, bahwa ia menggunakan bus alamat 36-bit ke CPU, yang merupakan pertanda baik. Paragraf 7 System Address Map
memiliki wawasan lebih lanjut. Bandingkan Figure 7-1. System Address Ranges
dengan yang kita lihat sebelumnya:
Ini jelas menunjukkan bahwa ia mampu menggunakan lebih dari 4 GiB RAM, asalkan digunakan dengan CPU juga mampu mengatasi 36-bit. Perlu dicatat juga bahwa paragraf 7 System Address Map
menyatakan hal itu MCH supports 64 GB of addressable memory space
. Namun dijelaskan lebih lanjut, bahwa RAM yang dapat digunakan maksimum dibatasi hingga 8 GB. Ini sekali lagi menyatakan perbedaan antara addressable dandapat digunakan seperti yang saya coba sampaikan di bagian CPU.
Untuk menyimpulkan ini, saya ingin mencatat bahwa dua chipset terkait sebenarnya memiliki perbedaan besar dalam penanganan memori.
Mari kita periksa Intel® Pentium® Processor Extreme Edition 840 . Itu mendukung set instruksi 64-bit, tetapi tidak mendukung PAE. Yang berarti bahwa jika dijalankan dalam mode 32-bit, itu tidak akan dapat menggunakan lebih dari 4 GiB RAM (tolong, koreksi saya jika saya salah dengan asumsi ini). Mari kita periksa lembar data dan tabel Table 4-3. Signal Description
. Meskipun CPU ini berkemampuan 64-bit, namun masih dibatasi oleh address bus-nya yang lebar 36-bit, sehingga membatasi untuk rentang alamat yang dapat diakses mulai dari 0 hingga 64 GiB.
Sekarang mari kita periksa CPU yang lebih baru. Ambil Prosesor Intel® Core ™ i7-7700 misalnya. Itu diiklankan untuk mendukung hingga 64 GB RAM. Sekarang mari kita periksa datasheet-nya. Paragraph 2.3 System Address Map
meyakinkan kita bahwa jangkauan addressable CPU ini adalah dari 0 hingga 512 GiB karena bus alamat 39-bit. Perhatikan bahwa masih jauh dari kisaran 16 EiB teoritis untuk CPU 64-bit. Anehnya meskipun lebih lanjut menjelaskan bahwa CPU ini memang mendukung hingga 32 GiB dari maksimum RAM yang dapat digunakan (bertentangan dengan 64 GB di situs web). Ada juga gambar yang menarik di sini Figure 2-2. System Address Range Example
:
Ini melakukan pekerjaan dengan baik yang menggambarkan masalah dengan memory shadowing oleh perangkat PCI dll. Juga menyarankan cara mengatasi masalah ini dengan memetakankisaran dari RAM nyata ke kisaran alamat atas dalam rentang yang dapat dialamatkan oleh CPU . Dengan demikian reklamasi memori tersembunyi itu untuk digunakan. Perhatikan bahwa pemetaan ulang ini dilakukan oleh BIOS / (U) EFI pada saat inisialisasi perangkat keras dan itu tepat karena alasan ini saya memasukkan BIOS / (U) EFI dalam daftar-peluru di atas.
Saya telah mengambil produk Intel sebagai contoh, tetapi hal yang sama berlaku untuk AMD.
Sekarang mari kita bahas bagaimana Sistem Operasi terlibat. Kernel Linux termasuk dukungan mode PAE penuh dimulai dengan versi 2.3.23 dan sangat mungkin untuk memiliki lebih dari 4 GiB memori yang dapat digunakan dengan kernel Linux pada sistem 32-bit. Namun waspadai masalah yang tidak ditentukan dengan kernel Linux 32-bit pada sistem dengan lebih dari 4 GiB RAM pada beberapa perangkat keras (dalam pengalaman saya itu ada hubungannya dengan TLB shootdowns). Pokoknya Wikipedia memiliki informasi yang baik tentang dukungan PAE . Yang menarik adalah bagaimana Windows XP dibatasi hingga 4 GB, sedangkan Windows Server 2003 Enterprise / Datacenter SP2 mampu penuh 64 GB. Sama untuk pasangan Windows Desktop-Server lainnya.
Seperti yang Anda lihat ada banyak kombinasi di antara komponen yang terdaftar dan dalam beberapa kasus mengganti CPU atau OS mungkin membantu. Jauh lebih sulit untuk berurusan dengan BIOS / (U) EFI atau MCU karena yang pertama adalah milik dan terintegrasi ke dalam sistem dan tidak mudah dimodifikasi, yang terakhir dibangun ke dalam CPU atau disolder di papan.
ini menunjukkan Ram 3574MB karena itulah berapa banyak RAM GRATIS dan tersedia untuk komputer untuk digunakan setiap saat. Angka ini adalah RAM yang komputer Anda memiliki akses total ke karena program dan pengaturan pra-instal ke PC menggunakan jumlah RAM yang ditetapkan, dalam kasus Anda, kebetulan 426mb. 6GB 64bit PC saya menunjukkan 5.8GB RAM yang tersedia bukan dari 6GB penuh. Taruhan terbaik Anda adalah melihat ke dalam meningkatkan PC Anda