Bagikan melalui


diskidlehistogram

Tindakan ini menghasilkan histogram yang menampilkan semua aktivitas disk dan waktu diam.

-a diskidlehistogram [-disknum <n>] [-buckets B1 B2 ... Bn] [-idletimeout T1 T2 ... Tn] [-idletheshold <t>] [-spindownOverhead [t]] [-spinupOverhead [t]] [-exc_file File1 File2 ... FileN] [-exc_filestr String1 String2 ... StringN] [-exc_filere <regex>]

Opsi

-disknum<n>
n menunjukkan nomor disk (indeks disk berbasis 0). Nilai defaultnya adalah mengeluarkan histogram untuk semua disk.

-bucketsB1 B2 ... Bn
Argumen menunjukkan rentang panjang diam yang berbeda, dalam detik. Wadah default adalah sebagai berikut:

  • [0 s, 1 s]

  • [1 s, 5 s]

  • [5 s, 60 s]

  • [60 s, 180 s]

  • [180 s, 600 s]

  • [600 s, 900 s]

  • [900 s, 1200 s]

  • [1200 s, 1800 s]

  • [1800 s, +inf]

Histogram diam disk menampilkan distribusi waktu diam disk dan jumlah periode diam selama rentang panjang periode diam yang berbeda, seperti yang diilustrasikan oleh nilai contoh dalam tabel berikut.

Kurang dari 1 detik 1-600 detik Lebih dari 600 detik

Waktu menganggur

1000

1000

2000

Persentase total waktu menganggur

25

25

50

Jumlah menganggur

90

5

5

Persentase jumlah total diam

90

5

5

Baris pertama memperlihatkan wadah histogram: rentang panjang menganggur yang berbeda.

Baris kedua memperlihatkan akumulasi waktu menganggur untuk setiap wadah. Misalnya, akumulasi waktu menganggur untuk semua periode diam yang lebih singkat dari 1 detik adalah 1000 detik.

Baris ketiga menghitung persentase waktu menganggur untuk setiap wadah dengan memba lagi waktu menganggur untuk wadah dengan total waktu menganggur.

Baris keempat adalah jumlah periode menganggur yang diambil untuk setiap wadah. Dalam contoh ini, ada 90 periode diam yang berlangsung kurang dari satu detik.

Baris terakhir menghitung persentase periode menganggur untuk setiap wadah dengan memba lagi jumlah periode diam untuk wadah dengan jumlah total periode diam.

Perintah berikut akan menghasilkan wadah dalam daftar berikut: -buckets 1s 5s 60s 180s:

  • [0, 1 s]

  • [1 s, 5 s]

  • [5 s, 60 s]

  • [60 s, 180 s]

  • [180 s, +inf]

-idletimeoutT1 T2 ... Tn
Argumen menunjukkan batas waktu diam, dalam detik. Nilai defaultnya adalah 5, 60, 180, 600, dan 1800.

-idletheshold<t>
Argumen menunjukkan ambang diam, dalam detik. Periode menganggur yang lebih pendek dari ambang ini diabaikan.

-spindownOverhead[t]
Jika Anda tidak menentukan argumen, nilai defaultnya adalah 0.

Dengan menggunakan urutan tanda waktu I/O disk dan batas waktu diam yang ditentukan, Anda dapat menghitung kapan disk akan dipisahkan dan berapa banyak waktu yang dapat tetap dalam keadaan berputar ke bawah, seperti yang diilustrasikan dalam tabel berikut.

Waktu habis, dalam detik 5 60 180 600

Estimasi waktu peluang spindown, dalam hitungan detik

3800

2000

1000

500

Estimasi jumlah peluang spindown

500

100

50

10

Baris pertama memperlihatkan nilai batas waktu diam yang menarik untuk memperkirakan waktu pengurangan. Baris kedua menunjukkan perkiraan total waktu spun-down yang sesuai dengan setiap batas waktu. Dalam contoh ini, batas waktu 5 detik menghasilkan total waktu putar-turun 3800 detik. Baris ketiga menunjukkan perkiraan berapa kali disk dipisahkan untuk setiap nilai batas waktu.

-spinupOverheadT
Jika Anda tidak menentukan argumen, nilai defaultnya adalah 0 detik.

-exc_fileFile1 File1 ... FileN
File yang cocok dengan jalur file lengkap yang disediakan dikecualikan. Anda harus menentukan jalur file lengkap untuk setiap file yang ingin Anda kecualikan.

-exc_filestrString1 String2 ... StringN
File yang berisi satu atau beberapa string yang disediakan dikecualikan.

-exc_filere<regx>
File yang cocok dengan ekspresi reguler ATL yang disediakan dikecualikan. Misalnya, Anda dapat mengabaikan semua file yang berakhiran dengan .dll dengan menentukan ekspresi ".*\.dll".

Catatan Saat menentukan baris baru, Anda harus menyertakan karakter yang dikembalikan. Alih-alih menggunakan \n, gunakan \r\n. Dengan menyertakan kedua karakter (carriage return = r; line feed = n), Anda membuat terminator baris. Ini berguna saat membuat wilayah file yang menarik .

Keterangan

Ada beberapa file sistem yang I/Os disknya menanggapi I/Os disk ke file lain. File sistem ini mencakup yang berikut ini:

  • $LogFiles

  • $Mft

  • $Bitmap

  • lastalive0.dat

  • lastalive1.dat

  • $UsnJrnl:$J

Mungkin sulit untuk membedakan I/Os disk mana dengan file lain yang menyebabkan I/O disk tertentu ke file sistem di atas. Akibatnya, jika Anda ingin melihat dampak file yang telah Anda kecualikan, Anda juga harus mengecualikan file sistem ini. Karena I/Os disk file sistem ini sebagai respons terhadap atau "piggyback" pada I/Os disk lain, mengabaikan hanya file sistem ini sendiri tidak diharapkan untuk mengubah histogram diam disk secara signifikan.

Output dari tindakan ini dapat diimpor ke spreadsheet untuk pengurutan dan analisis. Dua metrik tambahan disediakan untuk output:

AvgIOInterval
Untuk file tertentu, ini adalah interval rata-rata antara dua I/Os berikutnya ke file ini. Metrik ini dapat menyesatkan jika file memiliki interval I/O kecil, seperti interval kurang dari 1 detik. Bahkan jika file ini juga memiliki interval I/O besar, seperti 30 menit, interval IO rata-rata mungkin terlihat jauh lebih buruk daripada file lain dengan interval I/O pendek sedang, seperti 10 menit. Dalam hal ini, Anda dapat menggunakan -idlethreshold T untuk menghapus periode menganggur kurang dari 1 detik dari analisis.

MaxIOInterval
Untuk setiap file, ini adalah interval maksimum antara dua I/Os berikutnya ke file ini. Output diurutkan berdasarkan metrik ini secara default. File dengan satu interval I/O besar masih dapat memiliki rata-rata I/Os yang sering.

Catatan Gunakan kedua metrik ini dan histogram per file untuk gambaran komprehensif aktivitas disk.

Hindari mengganggu disk yang sedang diteliti dengan menggunakan disk fisik yang berbeda (atau perangkat seperti USB flash drive) untuk mengumpulkan jejak.

Contoh

Contoh berikut menunjukkan penggunaan umum tindakan ini dengan parameter default

Xperf -i Trace.etl -a diskidlehistogram > output.csv

Kumpulkan informasi tentang I/Os disk serta informasi terkait, seperti registri/cswitch/tumpukan, jika diperlukan analisis yang lebih mendalam. Compact_cswitch dapat digunakan untuk mengurangi ukuran file pelacakan. Contoh berikut menunjukkan sekumpulan bendera Xperf yang direkomendasikan.

xperf -on dispatcher+PROC_THREAD+LOADER+CSWITCH+COMPACT_CSWITCH +registry+DISK_IO+DISK_IO_INIT+FILEIO -stackwalk cswitch+readythread+DiskReadInit+DiskWriteInit+DiskFlushInit -buffersize 1024
sleep <desired trace time in seconds> or run scenario
xperf -d trace.etl

Tindakan Xperf