Saran Microsoft untuk menggunakan / 3Gb beralih di Boot.ini untuk mendapatkan lebih banyak memori untuk proses yang berjalan pada sistem 32bit.
Saat ini saya memerlukan banyak memori untuk proses devenv (Visual Studio 2008) karena saya memiliki solusi yang kompleks yang memiliki banyak proyek dan formulir dan menghabiskan banyak sumber daya dalam waktu desain.
Saya ingin bertanya, jika ada yang tahu, apa saja aspek negatif dari penggunaan / 3Gb switch, apakah ada keadaan di mana tidak disarankan untuk menggunakannya.
windows
performance
memory
32-bit
Bogdan_Ch
sumber
sumber
Jawaban:
Pada mesin desktop, kemungkinan tidak ada masalah. Kumpulan kernel lebih kecil pada mesin W2K3 / WXP dengan switch switch 3GB. Ini mungkin bukan masalah untuk mesin desktop karena Anda seharusnya tidak mendekati melelahkan kumpulan halaman kernel Anda. Di server, melelahkan kumpulan kernel akan menyebabkan Anda mengalami masalah, dan kemungkinan besar Anda bisa melelahkannya.
Berikut ini beberapa detail bagus tentang pertimbangan memori kernel yang terkait dengan sakelar / 3GB. Jika Anda benar-benar ingin, Anda dapat menjalankan debugger kernel NT dan profil sistem Anda sebelum dan setelah perubahan dengan informasi dalam dokumen ini: http://blogs.technet.com/markrussinovich/archive/2009/03/26 /3211216.aspx
sumber
Anda akan memiliki lebih sedikit memori yang tersedia untuk kernel Anda - sakelar menyesuaikan ruang alamat mode kernel / ruang alamat mode pengguna, sebelumnya 2GB ke 2GB, menjadi 1GB hingga 3GB. Baca posting Raymond Chen di / 3GB, dan tindak lanjutnya, sebelum melanjutkan.
sumber
Sebelum melakukan perubahan, Anda harus terlebih dahulu memeriksa apakah proses yang ingin Anda jalankan terkait dengan bendera LARGEADDRESSAWARE. Dengan flag, tidak akan ada perubahan bagaimana proses menggunakan memori.
Anda dapat menggunakan Alat SDK untuk ini:
Header yang dimuntahkan harus mencakup:
Saya melakukan pemeriksaan pada devenv.exe dan dalam VS2008 tidak termasuk bendera.
sumber
Banyak kekurangannya. Secara default, Windows akan mengalokasikan kumpulan memori 4GB untuk setiap proses, yang terbagi 50/50 antara proses mode kernel (umum untuk semua aplikasi) dan proses mode pengguna (unik untuk setiap aplikasi) (penjelasan yang disederhanakan). Oleh karena itu aplikasi yang berjalan pada sistem memiliki memori 2GB, sedangkan sistem itu sendiri memiliki 2GB sendiri. Catatan penting: 2GB kedua ini adalah 2GB yang sama untuk semua aplikasi yang berjalan di sistem.
Saklar / 3GB menyesuaikan pemisahan sehingga mode kernel mendapat 1GB dan mode pengguna mendapat 3GB.
Sekarang pertimbangkan aplikasi yang sedang Anda jalankan. Beberapa dari mereka akan membutuhkan lebih banyak ruang mode kernel, beberapa akan membutuhkan lebih banyak ruang mode pengguna. Ketika kumpulan mode kernel dibagikan, Anda dapat dengan cepat kehabisan memori di sana jika Anda menjalankan aplikasi yang membuat memori mode kernel tertekan. Di sisi lain, jika aplikasi Anda menggunakan banyak memori mode pengguna, menerapkan / 3GB akan memberi mereka ruang kepala yang mereka butuhkan.
Jadi itu benar-benar ke sifat aplikasi yang ingin Anda jalankan. Aturan utamanya adalah berkonsultasi dengan vendor aplikasi dan membaca dokumentasinya; khususnya jika vendor aplikasi tidak memiliki rekomendasi dengan cara apa pun Anda harus mulai menjadi curiga ... apakah mereka telah menguji aplikasi mereka dengan benar atau tidak? Ini adalah hal dasar yang harus diketahui oleh setiap vendor.
Ada diskusi yang cukup bagus tentang semuanya di sini: http://blogs.technet.com/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx
Dalam kasus khusus Anda, saya pikir beralih ke 64 bit dan mendapatkan lebih banyak RAM akan menjadi solusi yang lebih layak, karena / 3GB tidak akan benar-benar membuat Anda mendapatkan apa yang Anda inginkan (apakah ini bekerja pada XP?)
sumber
Kami telah menggunakannya pada beberapa sistem yang menjalankan aplikasi pemrosesan gambar pada banyak gambar besar, dan tidak pernah menemukan masalah. Dalam situasi apa pun di mana Anda memerlukan Gig ekstra memori aplikasi, Anda mungkin akan membiarkan aplikasi berjalan dan tidak melakukan hal lain dengan sistem, jadi mungkin tidak akan ada banyak dampak.
sumber
Saya telah melihatnya mengganggu kartu video dengan cara yang aneh. Tetapi driver apa pun dapat berperilaku tidak benar dengan saklar ini jika tidak ditulis dengan benar.
Terkadang masalah ini dapat diatasi dengan penambahan / USERVA switch.
http://support.microsoft.com/kb/319043
http://support.microsoft.com/kb/833721
http://support.microsoft.com/kb/839490
http://support.microsoft.com/kb / 316739
sumber
Ini hanya bekerja dengan andal (kecuali untuk driver debugging dll) pada OS server perusahaan untuk binari LARGEADDRESSAWARE.
devenv bukan biner seperti itu. SQL Server dan Exchange, misalnya.Anda memerlukan OS x64 bit
daneditVS x64: LARGEADDRESSAWARE terdeteksi pada x64 untuk menembus batas 2GB.sumber