ID Artikel: 188831 - Kajian Terakhir: 16 September 2011 - Revisi: 2.0 Cara menggunakan fitur khusus kolam untuk mengisolasi renang kerusakan
RINGKASAN Kolam renang kerusakan dapat menyebabkan banyak yang paling
mengelak masalah dengan Windows NT. renang kerusakan yang disebabkan ketika kernel mode
komponen menulis untuk memori di luar area kolam dialokasikan. Dengan menulis ke
memori luar batas wilayahnya dialokasikan, sangat mungkin yang lain
daerah memori dialokasikan, mungkin dimiliki oleh komponen lain, ditimpa.
Kerusakan ini dapat menyebabkan masalah seperti layar biru di sama sekali tidak terkait
daerah kode. Komponen kernel-mode yang membaca luar wilayahnya dialokasikan dapat
juga menyebabkan masalah. Apakah itu disebabkan oleh peralatan asli Produsen (OEM) driver atau masalah pada Windows, kolam renang masalah kerusakan yang beberapa hal yang paling sulit untuk mengidentifikasi. Biasanya, semua yang dapat dilihat di Crash dump analisis adalah gejala dari masalah yang sebenarnya, seperti daerah data menjadi rusak dan menyebabkan masalah dalam kode blok sama sekali tidak terkait. Sampai sekarang, itu hampir mustahil untuk menemukan segmen kode yang, kerusakan memori. Sumber renang kerusakan sekarang dapat diidentifikasi pada instruksi yang menyebabkan kerusakan kolam renang. Utilitas manajemen memori baru Itulah bernama khusus kolam disertakan dengan Windows NT 4.0 paket layanan 4 (SP4), Windows 2000, Windows XP, Windows Server 2003, Windows Vista, dan Windows Server 2008. Utilitas renang khusus mengidentifikasi komponen kernel-mode yang merusak data kolam renang dengan menulis ke memori di luar daerah yang dialokasikan. Catatan Memori tuning tidak berlaku untuk Windows Vista dan Windows Server 2008. Namun fitur renang khusus berlaku untuk produk ini. INFORMASI LEBIH LANJUTPenting Bagian ini, metode, atau tugas yang memuat langkah-langkah yang memberitahu Anda bagaimana memodifikasi registri. Namun, masalah yang serius dapat terjadi apabila Anda salah memodifikasi registri. Oleh karena itu, pastikan Anda mengikuti langkah-langkah tersebut dengan seksama. Untuk perlindungan tambahan, buat cadangan registri sebelum Anda memodifikasi. Kemudian, Anda dapat memulihkan registri apabila terjadi masalah. Untuk informasi selengkapnya tentang cara membuat cadangan dan memulihkan registri, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft: 322756
(http://support.microsoft.com/kb/322756/
)
Cara membuat cadangan dan memulihkan registri di Windows Utilitas renang khusus mengalokasikan dua halaman memori virtual untuk setiap alokasi kolam renang yang diminta melalui ExAllocatePoolWithTag yang sesuai dengan kriteria berikut:
Deteksi overrun adalah mungkin yang paling sering digunakan. Untuk overrun deteksi, diminta alokasi diposisikan pada akhir halaman pertama oleh cadangan permintaan ukuran dari akhir halaman. Ukuran alokasi bulat hingga 8-byte batas. Pola kunci, ukuran, dan kolam renang tag informasi ditulis ke header di delapan byte pertama dari halaman pertama. Pola juga disebarkan di seluruh halaman. Karena alokasi diposisikan pada terdekat 8-byte batas, mungkin sebanyak tujuh slop byte berikut Alokasi. Pola juga ditulis untuk slop byte berikut Alokasi. Halaman kedua adalah halaman penjaga. Halaman penjaga terdiri dari khusus entri tabel halaman (PTE) yang ditandai dengan tidak ada akses perlindungan. Dengan menandai halaman kedua dengan no-akses perlindungan, kode mencoba untuk membaca atau menulis beyond akhir pertama halaman segera menyebabkan pelanggaran akses yang menghasilkan Stop 0x0000000A atau galat Stop 0x0000001E. Hal ini memungkinkan seseorang debugging sistem untuk menemukan tepat instruksi yang menyebabkan kerusakan kolam renang. Sebagai cek cadangan untuk menangkap pelanggar yang menulis akhir dari alokasi tetapi tidak melampaui akhir halaman, slop byte pada akhir alokasi disahkan selama permintaan gratis kolam renang (ExFreePoolWithTag). Byte slop dibandingkan dengan pola di Alokasi header untuk menentukan apakah sesuatu ditimpa di wilayah byte air kotor. Jika cek verifikasi berhasil, galat Stop 0x00000001A terjadi. Cek ini tidak selalu menemukan blok tepat kode yang menyebabkan kerusakan kolam renang. Namun, hal itu mungkin membantu mengidentifikasi komponen yang menyebabkan kerusakan. Untuk mengaktifkan utilitas khusus renang, tambahkan kunci dan nilai registri berikut: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management Nama nilai: PoolTag Jenis Data: REG_DWORD Data: Tag kolam renang topeng | Alokasi ukuran topeng | 0 The Tabel berikut mencantumkan lebih banyak contoh. Pool to monitor Character representation Pool tag mask ---------------------------------------------------------- All pools "*" 0x2A N??s "s??N" 0x733F3F4E Ketika nol (0x0) yang ditentukan, utilitas renang khusus tidak dimulai. Selain itu, utilitas khusus renang tidak dimulai jika nilai registri PoolTag tidak didefinisikan dalam registri. Nama nilai: PoolTagOverruns 1 menunjukkan bahwa kolam renang alokasi overruns terdeteksi untuk
Tag ditentukan. Alokasi terletak pada akhir halaman dan penjaga
Halaman berikut.Jenis Data: REG_DWORD Data: 1 | 0 0 menunjukkan bahwa kolam renang alokasi underruns terdeteksi untuk Tag. Alokasi terletak di awal halaman, dan halaman penjaga datang sebelum halaman yang berisi alokasi. Contoh penggunaan umum untuk menciptakan kunci registri dua akan menjadi sebagai berikut: HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Manager\ Manajemen memori Nama nilai: PoolTag Jenis Data: REG_DWORD Data: 0x2A Nama nilai: PoolTagOverruns Jenis Data: REG_DWORD Data: 1 Catatan Untuk Windows NT 4.0 Server Terminal, Anda harus menonaktifkan KStackPool Ketika Anda menggunakan kolam renang khusus. Untuk melakukannya, tambahkan nilai registri berikut: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management Nama nilai: EnableKStackPool Jenis Data: REG_DWORD Data: 0 1 -Renang KStack selalu diaktifkan 2 -Renang KStack diaktifkan untuk komputer yang memiliki 256 MB atau lebih memori (default) Catatan Fitur khusus renang mungkin tidak bekerja pada Windows Server 2003 jika ada entri tabel halaman khusus yang tidak cukup (PTEs). Masalah ini biasanya terjadi pada single-user terminal server yang mengandung lebih dari 1 GB RAM dan yang memiliki nilai tuning manajemen memori komputer set ke nilai default. Masalah ini tidak terjadi pada versi 64-bit Windows Server 2003. Memori dump berkas analisis masalah dapat berisi informasi berikut: *** Virtual Memory Usage *** Physical Memory: 1015660 ( 4062640 Kb) Page File: \??\C:\Pagefile1\pagefile.sys Current: 4193280Kb Free Space: 4180856Kb Minimum: 4193280Kb Maximum: 4193280Kb Available Pages: 552680 ( 2210720 Kb) ResAvail Pages: 932179 ( 3728716 Kb) Locked IO Pages: 347 ( 1388 Kb) Free System PTEs: 187166 ( 748664 Kb) Free NP PTEs: 32765 ( 131060 Kb) Free Special NP: 117228 ( 468912 Kb) Modified Pages: 106 ( 424 Kb) Modified PF Pages: 98 ( 392 Kb) NonPagedPool Usage: 6599 ( 26396 Kb) NonPagedPool Max: 65536 ( 262144 Kb) PagedPool 0 Usage: 10697 ( 42788 Kb) PagedPool 1 Usage: 1240 ( 4960 Kb) PagedPool 2 Usage: 1239 ( 4956 Kb) PagedPool 3 Usage: 1265 ( 5060 Kb) PagedPool 4 Usage: 1231 ( 4924 Kb) PagedPool Usage: 15672 ( 62688 Kb) PagedPool Maximum: 90112 ( 360448 Kb) Shared Commit: 3866 ( 15464 Kb) Special Pool: 511 ( 2044 Kb) <-- very small Shared Process: 5205 ( 20820 Kb) PagedPool Commit: 15672 ( 62688 Kb) Driver Commit: 2091 ( 8364 Kb) Committed pages: 439832 ( 1759328 Kb) Commit limit: 2023823 ( 8095292 Kb) 0: kd> dd nt!MmSpecialPoolRejected l8 8057afe0 00000000 00000000 00b2e59a 00000000 <-- A DWORD value of 3 causes special pool PTE's shortage. 8057aff0 00000000 00000000 00000000 00000000 8057afd8 nt!MiSpecialPoolFirstPte = 0xc022af78 8057afd4 nt!MiSpecialPoolLastPte = 0xc022af78
Untuk mengatasi masalah ini, mengkonfigurasi nilai entri registri PagedPoolSize ke nilai yang lebih kecil daripada ukuran paged kolam yang diperbolehkan. Sebagai contoh, menetapkan entri registri PagedPoolSize nilai 256 MB. Jika Anda ingin mengkonfigurasi nilai yang lebih besar, gunakan utilitas Monitor kinerja untuk menentukan persyaratan komputer untuk paged renang ukuran yang lebih besar. Anda dapat menggunakan nilai berikut untuk entri registri PagedPoolSize: HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Session Manager Memory Management Nama nilai: PagedPoolSize Jenis Data: REG_DWORD Data: 10000000 Base: heksadesimal Untuk Windows Server 2003 dengan Paket Layanan 1 (SP1) diinstal: Nama nilai: PagedPoolSize Jenis Data: REG_DWORD Data: FFFFFFFF Base: heksadesimal Catatan Setelah Anda membuat perubahan registri yang dijelaskan dalam hal ini Artikel, restart komputer untuk menyebabkan perubahan yang berlaku. Jika Setelah Anda mengaktifkan fitur khusus renang, komputer berhenti merespons (menggantung), dan Anda menerima pesan kesalahan di layar biru selama Persiapan, restart komputer dengan menggunakan opsi konfigurasi yang terakhir diketahui baik. Mengaktifkan fitur khusus renang tidak ditulis terakhir dikenal baik Konfigurasi entri di registri sampai setelah logon yang sukses. Berlaku bagi:
Penerjemahan MesinPENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah. Klik disini untuk melihat versi Inggris dari artikel ini:188831
(http://support.microsoft.com/kb/188831/en-us/
)
| Sumber Lain Situs Pendukung Lain
KomunitasCari Bantuan SekarangTerjemahan Artikel
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Kembali ke atas
