Beban CPU tinggi tetapi proses teratas di puncak sekitar 0%

11

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?

Ben
sumber
Saya harus mencatat saya di Ubuntu 10.04
Ben

Jawaban:

4

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.

grs
sumber
Ternyata itu adalah bug di Ubuntu 10,04 dan perangkat keras yang digunakan AWS
Ben
7

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 -makan 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.

Menandai
sumber
1
+1 untuk swap. Anda dapat menggunakan iotopatau vmstatmencoba dan melihat apakah itu I / O.
Axel Knauf
1
- / + buffer / cache: 2933 14586
Ben
4

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.

Raymond Tau
sumber
3

Mencoba

iotop

IO sebagian besar untuk saya.

MarcoHager
sumber
2

Coba gunakan:

top -o cpu

The -obendera akan memaksa atas untuk memesan proses dengan penggunaan CPU dalam urutan.

Bandit
sumber
ketika saya berlari top -o cpusaya mendapat "top: argumen tidak dikenal 'o'"
Ben
Oke, coba jalankan top dan pukul oketika sedang berjalan. Itu harus meminta Anda untuk kunci utama. Ketik cpudan tekan enter.
Bandit
1
bahkan ketika diurutkan berdasarkan cpu tidak ada yang di bagian atas daftar di atas 1% dan hanya ada segelintir (2-3) pada waktu tertentu. Sisanya 0%
Ben
Pada Centos 7.2 setidaknya, perintah yang benar untuk melakukan ini adalahtop -o %CPU
siliconrockstar
2

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

John
sumber
0

Sepertinya penggunaan CPU berasal dari utas. toptampaknya 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?

StefanKaerst
sumber