Kami memiliki server dengan utilitas cpu dan beban tinggi yang tidak biasa, tetapi kami tidak tahu mengapa. Ketika kami menjalankan top semua procs tampaknya cpu sangat rendah.
http://cl.ly/2d1g0K3q261r0R0K3e35
Apakah ada cara yang lebih baik untuk mencari penyebabnya?
Jawaban:
Saya pikir bug ini adalah masalah Anda. Dari apa yang saya lihat dari output, Anda memiliki cukup memori (perhatikan cache 14 GB atau lebih), tidak ada masalah I / O, tetapi Anda memiliki proses terkait xen berjalan. Ini membuat saya berpikir itu adalah bug.
sumber
Beban adalah ukuran dari beban kerja yang dimiliki sistem berdasarkan 1, 5 dan 15 menit.
Kesalahpahaman yang paling umum adalah bahwa Load Average murni terhubung ke penggunaan CPU dari suatu sistem.
Namun memuat tidak memasukkan pengukuran tambahan seperti CPU menunggu I / O yang saya pikir masalah Anda.
Berdasarkan gambar saya kira Anda kehabisan memori dan mulai menukar data ke disk.
Sederhana
free -m
akan memberi tahu Anda berapa banyak RAM dan swap digunakan.Kolom yang menarik adalah kolom gratis di samping
-/+ buffers/cache
.Jika mendekati nol Anda kehabisan RAM dan harus bertindak sesuai.
sumber
iotop
atauvmstat
mencoba dan melihat apakah itu I / O.Melihat bahwa rata-rata beban cukup tinggi (68, wow). Apakah mungkin ada banyak proses yang memakan sedikit CPU, sehingga menghabiskan semua waktu CPU? Mungkin, proses-proses itu baru saja dimulai dan selesai dengan sangat cepat sehingga puncak tidak dapat menangkap keberadaannya, Anda dapat mencoba untuk melihat apakah di atas dapat melihat itu atau tidak.
sumber
Mencoba
IO sebagian besar untuk saya.
sumber
Coba gunakan:
The
-o
bendera akan memaksa atas untuk memesan proses dengan penggunaan CPU dalam urutan.sumber
top -o cpu
saya mendapat "top: argumen tidak dikenal 'o'"o
ketika sedang berjalan. Itu harus meminta Anda untuk kunci utama. Ketikcpu
dan tekan enter.top -o %CPU
Itu bisa berupa file terkunci di nfs atau hal lain yang mengunci file yang perlu diakses proses lain
bisa juga terjawab layanan terkonfigurasi dengan terlalu banyak utas aktif
sumber
Sepertinya penggunaan CPU berasal dari utas.
top
tampaknya tidak memperhitungkan ini. Baru-baru ini saya melihat ini di server mysql. ada menjalankan pernyataan INSERT tetapi saya tidak bisa mendapatkan baris baru dengan SELECT karena beberapa utas mysqld memperbarui indeks tabel. top menunjukkan 100% beban pengguna pada satu inti tetapi setiap proses termasuk mysqld adalah CPU 0,0%. beberapa jam kemudian, SELECT yang sama memberikan hasil yang diharapkan.Lihat juga
Mendapatkan statistik cpu per utas
proses 'htop' dan utas penggunaan cpu?
sumber