Bagaimana cara mendiagnosis paku CPU Ubuntu / IO tunggu?


19

Saya menggunakan Ubuntu dan setiap beberapa menit tidak responsif selama setengah detik hingga satu detik penuh, yang biasanya bukan masalah tetapi membuat mencoba kode sangat frustasi ketika Anda mencoba menekan backspace atau menavigasi kode dan tidak ada yang terjadi. Masalahnya adalah, pembekuan sangat singkat sehingga top tidak punya waktu untuk menunjukkan kepada saya apa yang memicu CPU (dengan asumsi ada sesuatu, tapi saya tidak tahu apa lagi yang bisa menyebabkan ini).

Adakah yang tahu bagaimana cara mengatasi masalah kinerja ini?

Sunting: Saya sudah mencoba masuk dengan Gnome Classic (No Effects), bukan Unity tetapi masih membeku sesekali.

Sunting: Grafik CPU tampaknya tidak menunjukkan lonjakan yang sebenarnya jadi sepertinya Anda benar dan diagnosis awal saya tentang lonjakan CPU adalah masalahnya salah, saya sekarang curiga IO menunggu. Saya tidak ingat ini terjadi selama beberapa minggu singkat saya memiliki Windows 7 Starter berjalan di atasnya, yang membuat saya percaya itu bukan (hanya?) Perangkat keras .. adakah yang bisa saya tweak untuk meningkatkan ini? Saya menggunakan Acer Aspire One D257, dengan Ubuntu 11.10.

Sunting: Output dari dmesgdi http://paste.ubuntu.com/1060054/ dan kern.log di http://paste.ubuntu.com/1060055/


Pertanyaan ini menarik baik dalam kasus umum , maupun pertanyaan khusus Anda.
Rafał Cieślak

1
Dengan menyalakan grafik CPU, Anda dapat mengetahui dengan pasti apakah itu adalah lonjakan CPU yang menyebabkan perlambatan. I / O mungkin menjadi penyebab lain, atau keterlambatan jaringan dalam beberapa kasus. Apakah itu terjadi tidak peduli program apa yang Anda gunakan aktif pada saat itu?
David Oneill

Bagus sekali David, aku akan melakukannya. Saya hanya pernah menggunakan Vim dan Firefox di mesin ini, mereka selalu terbuka dan itu terjadi tidak peduli yang ada di latar depan. Pada awalnya saya pikir itu generasi ctag otomatis dari Vim, tetapi setelah mengomentari bagian itu, dan menghapus seluruh file vimrc saya, masalah masih terjadi. Saya akan mencoba grafik untuk melihat apakah itu memang lonjakan CPU atau IO tunggu.
Jeff Welling

Seberapa tidak responsifnya itu? Apakah pointer mouse Anda berhenti memperbarui?
AdamKG

Maaf atas tanggapan yang tertunda, saya pikir itu membeku juga, tapi itu berhenti terjadi atau saya belum memperhatikannya akhir-akhir ini. Menariknya, saya juga punya drive cadangan USB terenkripsi saya terpasang dan dipasang banyak waktu belakangan ini yang membuat saya bertanya-tanya apakah itu bisa terkait. Saya mencoba melakukan beberapa pengujian lagi dengan dan tanpa drive terpasang untuk menentukan apakah A) itu terkait dan B) pointer berhenti merespons selama pembekuan ini.
Jeff Welling

Jawaban:


12

Ada dua alat tambahan yang mungkin ingin Anda periksa:

Jika Anda tidak mendapatkan apa yang Anda inginkan dari kedua alat itu, maka Anda mungkin perlu menggunakan alat pengembang seperti OProfile atau Sysprof .

Semua alat yang terdaftar tersedia dari repositori ubuntu

Mengenai pengamatan Anda dengan usb, dari apa yang saya dengar, beberapa pengontrol-usb berperilaku agak serpihan dengan perangkat keras tertentu yang dapat menyebabkan interupsi-badai, ini dapat menyebabkan apa yang Anda gambarkan. Coba cari badai interupsi usb dan Anda akan mendapatkan beberapa hit.


Hm, saya pasti akan melihat badai interupsi, tetapi masalah terus terjadi bahkan setelah saya berhenti menggunakan perangkat usb pada sistem ini secara teratur. Sebagian besar waktu saya akan pemrograman dalam perjalanan ke tempat kerja (transit) dan saat itulah saya akan menyadarinya.
Jeff Welling

5

Saya menggunakan htop selama bertahun-tahun dan akhirnya saya menemukan cara mendapatkan Cpu Utilization dengan angka dan persentase, saya terkejut saya melewatkan ini.

gambar iowait htop

Tekan F2

Panah ke "Meter yang tersedia"

Sorot rata-rata CPU

F5 atau F6 untuk ditambahkan ke kolom

Panah ke item "CPU [Bar]"

Tekan F4 sampai Anda mendapatkan "CPU [Teks]"

Anda juga bisa mendapatkan IORates

F2-> Kolom-> Tersedia

Tambahkan IO_RATE, IO_READ_RATE, IO_WRITE_RATE


2

Cara terbaik untuk melihat ini adalah dengan menggunakan aplikasi seperti-perintah topatau htop Instal htop .

teratas
teratas

htop
htop

Anda perlu menontonnya sebentar sampai Anda melihat apa yang menyebabkan lonjakan (jika memang lonjakan dalam penggunaan CPU dan tidak dalam i / o tunggu, yang mungkin tidak tertangkap dalam semua kasus).


1
Saya kenal dengan top tetapi tidak htop, apakah htop mengindikasikan IO menunggu / bagaimana cara menginterpretasikan bagian output itu? Saya memeriksa FAQ di situs web htop tetapi tidak menyebutkan IO tunggu.
Jeff Welling

@ JefWelling: tidak afaik. Keduanya akan menampilkannya sebagai penggunaan CPU.
RolandiXor

Ada monitor tambahan untuk kegiatan I / O. Ini disebut iotop (lihat jawaban danjo133s).
FuzzyQ

2

Alat baru dan sangat membantu adalah cpustat. Ia memiliki antarmuka grafis yang memungkinkan Anda untuk memonitor beberapa pids dari waktu ke waktu.

masukkan deskripsi gambar di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.