Pertanyaan WQL apa yang akan Anda gunakan untuk memantau kemacetan khas Windows? Yang mana yang akan Anda gunakan untuk mendapatkan data yang mirip dengan 'top' atau 'netstat'? Pada interval berapa Anda akan memilih?
Berikut adalah beberapa yang saya temukan bermanfaat.
SELECT PercentDiskTime, AvgDiskQueueLength, DiskReadBytesPerSec, DiskWriteBytesPerSec FROM Win32_PerfFormattedData_PerfDisk_PhysicalDisk
SELECT Caption, CommittedBytes, AvailableBytes, PercentCommittedBytesInUse, PagesPerSec, PageFaultsPerSec FROM Win32_PerfFormattedData_PerfOS_Memory
SELECT PercentProcessorTime FROM Win32_PerfFormattedData_PerfOS_Processor
SELECT Caption, WorkingSet, PageFaultsPerSec,IOReadBytesPerSec, IOWriteBytesPerSec, ThreadCount, HandleCount FROM Win32_PerfFormattedData_PerfProc_Process
SELECT Caption, BytesReceivedPerSec, BytesSentPerSec FROM Win32_PerfFormattedData_Tcpip_NetworkInterface
monitoring
wmi
Yancy
sumber
sumber
Jawaban:
Ini adalah pertanyaan yang benar - benar hebat , dan itu memalukan karena belum mendapatkan lebih banyak cinta!
Teori dasar analisis bottleneck saya adalah memperlakukan sistem sebagai sebuah kotak dengan 4 jenis sumber daya terbatas: prosesor, memori, disk, dan jaringan . Jadi saya ingin mendapatkan angka dasar untuk masing-masing untuk menentukan kesehatan kotak. Saya ingin angka yang mudah diartikan: tinggi itu buruk, rendah itu baik. 0 adalah yang terbaik, meskipun tidak pernah dapat dicapai dengan sempurna (setelah semua kami membeli komputer untuk melakukan pekerjaan , eh?). Setelah saya melihat mana dari empat sumber daya yang merupakan hambatan utama, saya dapat melanjutkan untuk menentukan program atau proses mana yang memakan semua sumber daya, dan membuat keputusan berpendidikan, apakah saya perlu menambah sumber daya itu - atau menyesuaikan program / proses yang akan digunakan kurang dari sumber daya.
Saya akan memformat penghitung kinerja utama yang saya gunakan, dari artikel ini , sebagai kueri WMIC, karena tidak ada skrip yang diperlukan (walaupun tentu saja mungkin!). Anda dapat memasukkan setiap kueri ini langsung ke konsol cmd:
Di atas adalah Panjang Antrian Prosesor . Ini memberitahukan berapa banyak utas yang menunggu dalam antrian untuk ditangani oleh CPU. Angka tinggi buruk, angka rendah baik. Secara umum saya menganggap nilai <10 sebagai sistem yang sehat.
Di atas adalah Memori, Input Halaman per Detik , kecepatan membaca halaman dari disk untuk menyelesaikan kesalahan halaman yang berat. Kesalahan halaman keras terjadi ketika suatu proses merujuk ke halaman dalam memori virtual yang tidak ada dalam memori fisik, dan harus diambil dari disk. Penghitung ini berfungsi paling baik dalam tampilan grafik Perfmon. Pada komputer yang sehat (bukan bottlenecked), Anda akan melihat paku sesekali saat data dibaca dari disk menjadi RAM semakin banyak paku yang Anda lihat, dan semakin tinggi lamanya, semakin banyak memori yang terkendala dalam sistem. Jika sistem sering berada pada nilai bukan nol untuk periode yang lebih lama dari, katakanlah, lima detik, Anda mungkin memiliki sistem bottlenecked memori.
Di atas adalah PhysicalDisk, Panjang Antrian Disk Rata-rata . Saya menganggap ini sebagai indikator utama kesehatan sistem, karena kemacetan memori juga akan merobohkan disk karena swapping pagefile yang berlebihan - dan sering akan mendorong pemanfaatan CPU juga. Ini akan menampilkan item untuk setiap disk yang dipasang serta total semua disk. Disk tunggal yang berkinerja baik akan memiliki nilai ini pada 2 atau lebih rendah. Untuk array, bagi jumlah spindel dengan panjang antrian (mis: 4 spindle dalam array dibagi dengan panjang antrian 8 = 2, yang berarti array berkinerja baik).
Dan akhirnya, di atas kami memiliki kinerja NIC. Khususnya Antarmuka Jaringan, Panjang Antrian Output dan Paket - Paket yang Menerima Kesalahan . Kedua penghitung ini memberi tahu kami berapa banyak paket yang menunggu untuk dikirim, dan berapa banyak paket yang masuk menyebabkan kesalahan yang mungkin mengakibatkan pengiriman ulang. Kami ingin kedua angka tetap nol. Dalam permintaan ini saya juga mendapatkan bandwidth NIC saat ini yang merupakan informasi yang berguna.
Setelah saya menentukan sumber daya yang digunakan secara berlebihan, saya biasanya bergantung pada Process Explorer atau objek proses Perfmon untuk menemukan proses mana yang merupakan sumber daya babi.
sumber