Rata-rata beban tinggi, cpu rendah

10

Server saya melambat, dan saya tidak tahu mengapa.

Cetak dari atas:

top - 14:32:50 up 639 days,  6:30,  1 user,  load average: 67.93, 70.63, 79.85
Tasks: 245 total,   1 running, 244 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.9% us,  0.5% sy,  0.0% ni, 94.5% id,  1.0% wa,  0.0% hi,  0.0% si
Mem:   1034784k total,  1021256k used,    13528k free,     4360k buffers
Swap:  1023960k total,   635752k used,   388208k free,    36632k cached

vmstat 10 6

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0 110 795604  12328   3980  46676    0    0     0     0    0     0  4  1 95  1
 0 97 788848  12052   3960  46256 2985   33  3323    33  429     0  2  1  0 97
 0 119 782660  13992   4096  45740 2780   14  2995   360  435     0  2  1  1 96
 0 121 775924  15600   3724  42796 3084    0  3443   136  440     0  2  1  0 98
 0 113 769392  13576   3476  41968 3002    0  3458     7  426     0  2  1  0 97
 0 113 762284  12440   3332  34884 3151    0  3553    61  427     0  2  1  0 97

doitprod2: / var / log # grep -c prosesor / proc / cpuinfo

2

iostat 2

 tps   Blk_czyt/s   Blk_zapis/s  Blk_czyt   Blk_zapis
sda             166,00      7128,00        52,00      14256        104

Ok, setelah membunuh dan memulai beberapa proses sekarang baik-baik saja. Terima kasih atas bantuan Anda.

Kamilos
sumber
dapatkah Anda memasukkan output vmstat 10 6? (Ini akan membutuhkan 60 detik untuk menjalankan) dan jugagrep -c processor /proc/cpuinfo
James C
Jawaban / komentar di serverfault.com/q/482832/58957 mencantumkan lebih banyak alasan dan penjelasan untuk gejala-gejala ini.
Nickolay

Jawaban:

9

Anda mungkin memiliki proses pada UNINTERRUPTIBLE_SLEEPkeadaan, biasanya mereka dalam keadaan itu karena mereka sedang menunggu sesuatu dari perangkat keras seperti membaca dari disk. Proses-proses itu secara efektif tidur (Anda memiliki 244 proses tidur) tetapi mereka memasukkan perhitungan Load Average. Periksa IO server Anda dengan vmstatdan lihat apakah Anda memiliki banyak Dstatus pada topatau psuntuk mengonfirmasi.

EDIT: Melihat vmstatoutput Anda semakin menegaskan masalah IO. bKolom Anda di bawah procsmenunjukkan rata-rata 100 proses tidur tanpa gangguan. biKolom Anda (blok dibaca dari perangkat blok) sangat tinggi, serta sikolom (memori dibaca dari swap / disk). Akhirnya, di bawah cputajuk, wakolom menunjukkan bahwa CPU Anda menghabiskan lebih dari 90% menunggu IO untuk menyelesaikan.

Anda harus memeriksa mengapa Anda mengalami masalah dengan IO. Mungkin ada kekurangan kapasitas server, proses berjalan liar dan beberapa alasan lain, tapi itu pasti IO.

coredump
sumber
1
Anda dapat mulai mencari yang bertanggung jawab dengan menggunakan iotop( apt-get install iotop). Juga, pada pengurutan biasa berdasarkan penggunaan memori dengan menekan O (itu huruf besar), lalu n, lalu masuk. Pengguna dengan memori teratas mungkin bertanggung jawab atas semua pertukaran.
Eduardo Ivanec
2

Periksa 1,0% wa Anda ada di atas jika sudah tinggi. Karena Anda telah menekan file swap, mungkin ada kemungkinan proses menunggu untuk I / O

Periksa cat /proc/sys/fs/file-nrapakah angka pertama dekat dengan yang ketiga (buka file vs total file terbuka).

Apakah Anda menggunakan VPS?

pataroulis
sumber
/ proc / sys / fs / file-nr 3600 0 102712
Kamilos
Mungkin akan menjelaskan jika Anda bisa berbagi jenis perangkat lunak yang Anda jalankan di server. (mis. apache, tomcat, glassfish dll). Tapi Tentunya, lebih banyak ram (dua kali lipat atau lebih) akan memberikan mesin Anda dorongan yang bagus.
pataroulis
1

Iowait (tercantum di kolom terakhir sebagai "wa") yang ditunjukkan pada output vmstat sangat tinggi. Dan ada banyak paging yang terjadi (halaman data dipindahkan antara memori fisik dan swap berbasis disk).

Mesin ini akan mendapat manfaat dari ram fisik yang lebih banyak.

James C
sumber