INF: Menggunakan DBCC MEMORYSTATUS untuk memantau penggunaan memori SQL Server

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 271624 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Perintah DBCC MEMORYSTATUS menyediakan snapshot saat ini status memori dari SQL Server. Keluaran dari perintah ini sangat berguna dalam pemecahan masalah yang berhubungan dengan pemakaian memori SQL Server atau kesalahan keluar memori untuk tertentu (banyak yang secara otomatis cetak ini keluaran dalam log kesalahan). Layanan dukungan produk Microsoft dapat meminta bahwa Anda menjalankan perintah ini selama insiden dukungan tertentu jika Anda bertemu kesalahan yang mungkin berhubungan dengan memori rendah kondisi.

Perintah ini dimaksudkan untuk menjadi alat diagnostik untuk Layanan dukungan produk Microsoft. Format output dan tingkat detail yang disediakan adalah berubah antara paket layanan dan produk rilis. Fungsionalitas yang disediakan oleh perintah DBCC MEMORYSTATUS akan kemungkinan akan digantikan oleh mekanisme yang berbeda dalam versi masa depan produk, dan perintah ini mungkin tidak dapat berfungsi. Tidak ada peringatan tambahan akan dibuat sebelum mengubah atau menghapus perintah ini. Oleh karena itu, aplikasi yang mengandalkan perilaku yang dapat merusak tanpa peringatan.

Output dari DBCC MEMORYSTATUS berisi tujuh bagian. Artikel ini menjelaskan beberapa data kunci yang dapat diperoleh dari output dalam empat bagian. Sisa bagian melibatkan rincian pelaksanaan berpemilik dan mereka tidak dijelaskan dalam artikel ini. Layanan dukungan produk Microsoft tidak akan menjawab pertanyaan atau memberikan informasi tambahan tentang arti khusus Counter melampaui apa yang disertakan dalam artikel ini.

INFORMASI LEBIH LANJUT

Bagian pertama

Bagian pertama menggambarkan distribusi 8 KB buffer di buffer pool. Ada struktur penyangga untuk setiap halaman 8 KB potensial di buffer pool. Ini mencakup fisik halaman jika alamat Windowing Extensions (AWE) diaktifkan. Struktur ini berisi jumlah bit yang menunjukkan status halaman mendasari (yaitu halaman telah dimodifikasi, apakah terjepit, adalah IO, dan banyak lagi). Bagian ini rincian jumlah buffer yang memiliki status tertentu bit.
Buffer Distribution              Buffers     
------------------------------   ----------- 
Stolen                           241
Free                             95
Procedures                       89
Inram                            0
Dirty                            16
Kept                             0
I/O                              0
Latched                          18
Other                            880

(9 row(s) affected)
				
Dicuri. Dicuri memori menjelaskan buffer yang digunakan untuk menyortir atau untuk hashing operasi (permintaan kerja memori), atau untuk buffer yang digunakan sebagai toko generik memori untuk alokasi untuk menyimpan internal data struktur seperti kunci, transaksi konteks dan informasi koneksi. The LazyWriter proses tidak diizinkan untuk flush Dicuri buffer dari buffer pool.

Gratis. Gratis merujuk kepada berkomitmen buffer yang tidak sedang digunakan. Ini tersedia untuk memegang data, atau mereka dapat diminta oleh lain komponen dan ditandai sebagai Dicuri.

Prosedur. Prosedur merujuk kepada buffer yang menahan memori cache disimpan prosedur. Ini buffer berisi dikompilasi dan dijalankan rencana untuk prosedur dan untuk cache iklan hoc rencana.

Inram. Inram mengacu pada halaman untuk menyematkan tabel yang tidak dihapus dari memori (dijepit dengan menggunakan perintah DBCC PINTABLE atau sp_tableoption disimpan prosedur).

Kotor. Kotor merujuk kepada data halaman yang berisi perubahan yang telah tidak belum telah memerah ke disk.

Terus. Terus mengacu pada halaman yang sementara ditempelkan pada memori untuk mencegah mereka dari memerah. Nilai ini tidak digunakan dalam SQL Server 2000.

I/O. I/O merujuk kepada buffer yang menunggu di operasi I/O tertunda. Pada SQL Server 2000 ini termasuk pemetaan atau unmapping buffer melalui KAGUM.

Mengunci. Buffer latched merekam nomor buffer di mana koneksi adalah membaca atau memodifikasi baris dari halaman. Kait digunakan untuk memastikan konsistensi fisik data di halaman sementara itu dibaca atau diubah, sementara kunci yang digunakan untuk memastikan logis dan transaksional konsistensi.

Lainnya. Ini adalah halaman yang berkomitmen yang tidak memenuhi salah satu kriteria disebutkan sebelumnya. Biasanya, sebagian besar buffer yang memenuhi kriteria ini adalah data hash dan indeks halaman dalam buffer cache.

Bagian kedua

Bagian kedua daftar beberapa total yang mencerminkan keseluruhan ukuran dan makeup buffer pool.
Buffer Counts                  Buffers     
------------------------------ ----------- 
Committed                      1339
Target                         6318
Hashed                         914
InternalReservation            120
ExternalReservation            0
Min Free                       16

(6 row(s) affected)
				
Berkomitmen. Jumlah total buffer yang dilakukan di Microsoft Windows NT. Berkomitmen nilai adalah arus "ukuran" buffer pool. Nilai ini termasuk memori fisik yang dialokasikan jika KAGUM diaktifkan.

Target. Target berkomitmen hitungan, atau seberapa besar akan buffer pool ingin menjadi. Jika Target jumlah lebih besar daripada Berkomitmen nilai, buffer pool tumbuh. Jika Target Count adalah kurang dari Berkomitmen nilai, buffer pool menyusut. Menggunakan proses lazywriter nilai ini untuk menentukan apakah akan tumbuh atau menyusut buffer pool.

Hashed. Jumlah data dan indeks halaman yang disimpan dalam buffer kolam renang.

InternalReservation. Jumlah halaman yang buffer pool membuat untuk dirinya sendiri. The InternalReservation nilai adalah minimum jumlah halaman yang diperlukan untuk memenuhi tuntutan data sederhana untuk jumlah pengguna.

ExternalReservation. Jumlah halaman yang telah disediakan untuk kueri yang akan melakukan semacam atau operasi hash tetapi yang tidak lagi telah dicuri. Ini adalah digunakan sebagai petunjuk untuk lazywriter bahwa akan ada persyaratan mendatang untuk jumlah memori yang besar.

Min gratis. Jumlah halaman yang buffer pool mencoba untuk terus Daftar gratis. Jika daftar gratis jatuh di bawah Min gratis nilai, buffer pool mencoba untuk mengisi daftar gratis oleh membuang halaman yang lama dari data cache atau prosedur tua dari prosedur cache.

Bagian ketiga

Bagian ketiga menjelaskan susunan cache prosedur.
Procedure Cache                Value       
------------------------------ ----------- 
TotalProcs                     17
TotalPages                     89
InUsePages                     40

(3 row(s) affected)
				
TotalProcs. Jumlah objek cache saat ini dalam prosedur cache. Nilai ini akan sesuai dengan jumlah entri dalam syscacheobjects Virtual meja. Anda dapat menggunakan Monitor kinerja untuk memantau SQL Server: Cache manajer objek untuk rincian rinci jenis cache objek--untuk contoh, memicu, prosedur, dan ad hoc.

TotalPages. Kumulatif jumlah halaman yang harus Anda miliki untuk menyimpan semua objek cache.

InUsePages. Jumlah halaman dalam cache prosedur yang termasuk prosedur yang saat ini pelaksana. Ini tidak dapat dibuang.

Bagian keempat

Bagian keempat menggambarkan distribusi relatif dicuri buffer di antara kelompok-kelompok komponen utama di server. SQL Server mengimplementasikan yang memiliki memori manajer yang digunakan renang buffer halaman untuk alokasi kecil dan yang jatuh kembali ke sistem operasi yang rutinitas hanya untuk alokasi yang lebih besar daripada sekitar 8 KB. Alokasi ini lebih besar berada di luar buffer pool, dan mereka umumnya disebut sebagai alokasi dari MemToLeave daerah. Ukuran daerah ini dapat dikontrol dengan menggunakan -g opsi baris perintah.

Biasanya, sebagian besar memori alokasi dari MemToLeave dari konsumen memori non - SQL Server yang menjalankan dalam proses seperti objek COM, diperpanjang disimpan prosedur dan terkait server. Sistem operasi yang berhubungan dengan nilai-nilai yang dilaporkan di DBCC MEMORYSTATUS hanya mencerminkan MemToLeave alokasi yang dibuat oleh SQL Server secara langsung. Lainnya alokasi yang terjadi di MemToLeave dari ini komponen lain tidak dimasukkan karena SQL Server tidak memiliki pengetahuan tentang permintaan memori ini.
Dynamic Memory Manager         Buffers     
------------------------------ ----------- 
Stolen                         330
OS Reserved                    152
OS Committed                   138
OS In Use                      129
General                        322
QueryPlan                      87
Optimizer                      0
Utilities                      10
Connection                     40

(9 row(s) affected)
				
Dicuri. Jumlah total buffer yang dicuri dari buffer pool oleh manajer memori lima (umum, Query rencana, Optimizer, utilitas, Sambungan). Halaman ini digunakan untuk layanan alokasi memori yang lebih kecil dari 8 KB.

OS milik. Jumlah halaman yang dilindungi dari sistem operasi untuk menangani permintaan alokasi yang lebih besar dari sekitar 8 KB.

OS berkomitmen. Jumlah memori di daerah dilindungi undang-undang yang telah berkomitmen. The OS berkomitmen nilai harus kurang dari atau sama dengan OS milik nilai karena buffer pertama milik dan kemudian melakukan. Beberapa memori mungkin decommitted ketika tidak lagi digunakan.

Catatan Ada bug di SQL Server 2000 (yang telah diperbaiki pada SQL Server 2000 Paket Layanan 3) yang menyebabkan nilai ini tidak dapat dipertahankan secara akurat dan karena itu mungkin jatuh di luar jangkauan berlaku.

OS digunakan. The OS berkomitmen buffer yang saat ini dukungan memori yang luar biasa Alokasi.

General. Memori yang digunakan oleh konsumen memori umum di server, termasuk parsing atau normalisasi, kunci, transaksi konteks, internal data struktur yang menggambarkan metadata dalam memori untuk tabel dan indeks, dan orang lain. Nilai ini adalah jumlah total 8 KB buffer. Beberapa dari ini mungkin buffer dicuri dari buffer pool, dan lain-lain mungkin dari MemToLeave.

QueryPlan. Memori yang digunakan untuk menyimpan permintaan rencana, baik transiently atau di cache. Nilai ini adalah jumlah total 8 KB buffer. Beberapa dari ini mungkin buffer dicuri dari buffer pool, dan lain-lain mungkin dari MemToLeave.

Pengoptimal. Memori yang digunakan oleh query optimizer. Nilai ini adalah Jumlah total 8 KB buffer. Beberapa dari ini mungkin buffer dicuri dari buffer pool, dan lain-lain mungkin dari MemToLeave.

Utilitas. Memori digunakan oleh berbagai utilitas rutinitas seperti BCP, Log Manajer, permintaan paralel, :: fn_trace_gettable, dan lain-lain. Nilai ini adalah jumlah total 8 KB buffer. Beberapa dari ini mungkin buffer dicuri dari buffer pool, dan orang lain mungkin dari MemToLeave.

Sambungan. Memori yang digunakan untuk menyimpan data struktur memegang sambungan konteks untuk setiap pengguna koneksi. Ini juga termasuk memori untuk jaringan mengirim dan menerima buffer yang berhubungan dengan sambungan. Nilai ini adalah jumlah total 8 KB buffer. Beberapa di antaranya mungkin dicuri buffer dari buffer pool, dan lain-lain yang mungkin dari MemToLeave.

REFERENSI

SQL Server buku secara Online
Delaney, Kalen. Di dalam Microsoft SQL Server 2000, Microsoft Press, 2000.

Properti

ID Artikel: 271624 - Kajian Terakhir: 22 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Kata kunci: 
kbsqlsetup kbinfo kbmt KB271624 KbMtid
Penerjemahan Mesin
PENTING: 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:271624

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com