Skenario: Tiba-tiba, komputer saya terasa lemas. Mouse bergerak tetapi jendela butuh waktu lama untuk dibuka, dll. uptime
Mengatakan bebannya 7,69 dan naik .
Apa cara tercepat untuk mengetahui proses mana yang menjadi penyebab beban?
Sekarang, "top" dan alat-alat serupa bukanlah jawabannya karena mereka menunjukkan penggunaan CPU atau memori tetapi tidak keduanya sekaligus. Yang saya butuhkan adalah perintah tunggal yang saya bisa ketik saat itu terjadi - sesuatu yang akan mencari tahu
Sistem mencoba menukar 8GB RAM ke disk karena proses X ...
atau
proses X mencari seluruh disk
atau
proses X menggunakan CPU 400% "
Jadi yang saya cari adalah iostat, htop / di atas dan alat-alat serupa bertemu menjadi satu dengan output seperti ini:
1235 cp - Disk trashing
87 chrome - Uses 2 GB of RAM
137 nfs_bench - Uses 95% of the network bandwidth
Saya tidak ingin alat yang memberi saya beberapa angka yang dapat saya analisis tetapi alat yang memberi tahu saya persis proses mana yang menyebabkan beban saat ini. Asumsikan bahwa pengguna di depan keyboard hampir tidak tahu bagaimana menulis "proses", tetapi pengguna dengan cepat kewalahan ketika datang ke "ukuran penduduk", "memori virtual" atau "proses siklus hidup".
Argumen saya seperti ini: Seorang pengguna memperhatikan masalah. Mungkin ada ribuan alasan ... well, hampir :-) Pengguna ingin tahu sumber masalahnya.
Solusi saat ini memberi saya banyak angka, dan saya perlu tahu apa arti angka-angka ini. Apa yang saya cari adalah alat meta. 99% dari data tidak relevan dengan masalah. Jadi apa yang harus dilakukan alat ini adalah mencari proses yang menyimpan beberapa sumber daya dan hanya daftar yang disertai dengan "proses ini membutuhkan banyak CPU, ini menghasilkan banyak IRQ, proses ini mengalokasikan banyak RAM (dan masih terus berkembang)".
Ini akan menjadi daftar yang relatif singkat. Akan jauh lebih sederhana bagi seseorang yang baru dalam hal ini untuk menemukan pelakunya dari daftar ini daripada dari output, katakanlah, htop
yang memberi saya sekitar 5.000 angka tetapi mengharuskan saya untuk melipat proses multi-thread sendiri (saya memiliki 50 baris yang mengatakan VIRT 2750M
tetapi hanya 16 GB RAM - mesin harus menukar dirinya sendiri sampai mati tetapi tentu saja, ini adalah salah tafsir dari data yang dapat terjadi dengan cepat).
top
artinya)