Saya mencoba memahami beberapa data yang telah ditarik dari SAR. Saya punya tiga pertanyaan utama tentang ini. Pada akhirnya, saya ingin menentukan berapa banyak CPU yang menganggur pada setiap interval pengambilan sampel di sekelompok server.
- Banyak CPU tidak muncul di setiap entri. Apakah ini yang diharapkan dan Apa artinya sebenarnya? Apakah ini terkait dengan # 2?
- Ada garis yang tidak digunakan (CPU = U). The dokumentasi mengatakan "U menunjukkan seluruh sistem kapasitas yang tidak digunakan". Saya tidak dapat menemukan definisi yang tepat dari "kapasitas Tidak Terpakai di seluruh sistem" atau definisi apa pun, sungguh. Saya tidak yakin bagaimana menafsirkan garis yang mengatakan sesuatu seperti "kapasitas yang tidak digunakan adalah 70% menganggur."
- Terakhir, saya tidak yakin tentang bagaimana garis
-
atauall
dihitung. Saya akan berpikir itu adalah rata-rata dari semua CPU tetapi ketika saya melakukan matematika di semua CPU, saya mendapatkan jawaban yang sangat berbeda dari apa yang ada di baris itu. Adakah yang bisa memberi tahu saya apa yang masuk ke dalam perhitungan itu? Mencermati pertanyaan terkait tentang SAR ini, tampak bahwasystem-wide
persentase idle adalah jumlah produk dari setiap persentase idle CPU dan nilai 'physc'. Sayangnya, saya tidak memilikiphysc
atau entc% (dengan asumsi ada satu) jadi saya tidak bisa memverifikasi ini dengan data saya sendiri. Jika itu benar, apakah itu berarti saya perluphysc
nilai untuk benar-benar memahami persentase menganggur?
Berikut adalah beberapa contoh dari apa yang saya lihat. Ini semua dari hari yang sama.
CPU | Idle CPU | Idle CPU | Idle
---------- ---------- ----------
0 | 8 0 | 15 0 | 17
1 | 25 1 | 94 1 | 32
2 | 79 2 | 100 2 | 97
3 | 62 3 | 99 3 | 71
4 | 5 4 | 13 4 | 5
5 | 7 5 | 13 5 | 23
6 | 6 6 | 99 6 | 71
7 | 7 7 | 44 7 | 98
8 | 11 8 | 12 8 | 48
9 | 17 12 | 0 12 | 38
10 | 33 16 | 12 16 | 37
11 | 64 20 | 3 20 | 42
12 | 6 U | 95 U | 97
13 | 6 - | 15 - | 85
14 | 6
15 | 6
16 | 12
17 | 15
18 | 62
19 | 69
20 | 7
21 | 7
22 | 6
23 | 7
U | 80
- | 15
case 1: avg(24): 22
case 2: avg(12): 42
case 3: avg(12): 48
Data ini dihasilkan oleh skrip yang menjalankan: sar -P ALL 1 1
Ini kemudian menjalankan perintah awk. Saya tidak pandai awk tetapi ini jelas bagian penting:
Saring: /System|AIX|^$|%/ {next}
Parse: {k=0;if(NR==7) k=1} {sub("^-", "all", $1); cpu=$(1+k); user=$(2+k); sys=$(3+k); io=$(4+k); idle=$(5+k)}
Ini tampaknya benar berdasarkan pada apa yang saya sedikit mengerti tentang awk dan apa yang saya lihat dari contoh output.
Jika saya berasumsi bahwa nilai yang hilang semuanya nol untuk kasus 2, rata-rata adalah 21 yang tampaknya agak konsisten dengan kasus 1. Namun, jika saya membuat asumsi untuk kasus 3, saya mendapatkan 24% yang benar-benar bertentangan dengan 85% nilai persen yang diberikan oleh sar untuk keseluruhan CPU idle.
Berikut grafik tangkapan sehari penuh (setiap 30 detik):
Ketika waktu idle 'sistem-lebar' sangat sedikit, korelasi antara idle CPU rata-rata dan idle 'sistem-lebar' hampir sempurna. Tetapi karena waktu idle 'sistem-lebar' meningkat, korelasinya menjadi jauh lebih lemah. Bekerja dengan asumsi bahwa ini adalah mesin deterministik, yang memberitahu saya bahwa data yang saya miliki tidak memberikan gambaran lengkap. Tapi seberapa peduli saya?
Saya tidak sepenuhnya mengerti mengapa beberapa CPU tidak dilaporkan pada setiap titik tetapi yang hilang tidak terdistribusi secara merata seperti terlihat pada contoh di atas. Juga dari membaca ini Redbook , saya bawa bahwa ini harus CPU logis dan bahwa tanpa physc
angka, saya pikir tidak banyak yang bisa saya lakukan dengan nilai-nilai ini. Saya sudah mencoba menggunakan U
nilai dalam berbagai persamaan tetapi saya belum menemukan sesuatu yang masuk akal. Bahkan tidak jelas bagi saya bahwa persentase menganggur keseluruhan dapat diambil pada nilai nominal.
CATATAN : Ada yang salah dengan pengambilan data ini dari sar adalah jawaban yang benar-benar valid untuk # 1, jika itu kasusnya harus selalu kembali.
sar -P ALL 1 1
dan kemudian menggunakan awk untuk keluar nomor cpu dan kemudian pengguna, sistem, IO-tunggu, dan persentase idle. Saya akan menambahkan lebih banyak info ke jawaban Anda.
sar -P ALL
secara langsung, bukan output dari skrip ini? Ini adalah skrip non-standar dan tidak ada yang bisa memberi tahu Anda apa yang dilakukannya tanpa melihatnya.
sar -P ALL
output standar .