สถานการณ์: ทันใดนั้นคอมพิวเตอร์ของฉันรู้สึกอืด การเลื่อนของเมาส์ แต่หน้าต่างใช้เวลานานในการเปิด ฯลฯuptime
บอกว่าโหลดเป็น 7.69 และเพิ่มขึ้น
วิธีที่เร็วที่สุดในการค้นหาว่ากระบวนการใดเป็นสาเหตุของการโหลด
ตอนนี้ "สุดยอด" และเครื่องมือที่คล้ายกันไม่ใช่คำตอบเพราะมันแสดงการใช้งาน CPU หรือหน่วยความจำ แต่ไม่ใช่ทั้งสองอย่างในเวลาเดียวกัน สิ่งที่ฉันต้องการคือคำสั่งเดียวที่ฉันสามารถพิมพ์ได้ตามที่เกิดขึ้น - สิ่งที่จะคิดออก
ระบบพยายามที่จะสลับแรม 8GB ไปยังดิสก์เนื่องจากกระบวนการ X ...
หรือ
กระบวนการ X ค้นหาทั่วดิสก์
หรือ
กระบวนการ X ใช้ CPU 400% "
ดังนั้นสิ่งที่ฉันกำลังมองหาคือ iostat, htop / atop และเครื่องมือที่คล้ายกันทำงานเป็นหนึ่งเดียวกับผลลัพธ์เช่นนี้:
1235 cp - Disk trashing
87 chrome - Uses 2 GB of RAM
137 nfs_bench - Uses 95% of the network bandwidth
ฉันไม่ต้องการเครื่องมือที่ให้ตัวเลขบางตัวที่ฉันสามารถวิเคราะห์ได้ แต่เครื่องมือที่บอกฉันอย่างแม่นยำว่ากระบวนการใดทำให้เกิดการโหลดปัจจุบัน สมมติว่าผู้ใช้ที่อยู่ด้านหน้าของแป้นพิมพ์แทบจะไม่รู้วิธีการเขียน "กระบวนการ" แต่ผู้ใช้จะจมอย่างรวดเร็วเมื่อมันมาถึง "ขนาดที่อาศัย", "หน่วยความจำเสมือน" หรือ "วงจรชีวิตของกระบวนการ"
ข้อโต้แย้งของฉันเป็นดังนี้: ผู้ใช้สังเกตเห็นปัญหา อาจมีหลายพันเหตุผล ... ดีเกือบ :-) ผู้ใช้ต้องการทราบสาเหตุของปัญหา
โซลูชันปัจจุบันให้ตัวเลขมากมายกับฉันและฉันต้องรู้ว่าตัวเลขเหล่านี้มีความหมายว่าอย่างไร สิ่งที่ฉันกำลังมองหาคือเครื่องมือเมตา 99% ของข้อมูลไม่เกี่ยวข้องกับปัญหา ดังนั้นสิ่งที่เครื่องมือควรทำคือมองหากระบวนการที่หมูทรัพยากรบางอย่างและแสดงรายการเฉพาะพร้อมกับ "กระบวนการนี้ต้องการ CPU จำนวนมากซึ่งสร้าง IRQ จำนวนมากกระบวนการนี้จัดสรร RAM จำนวนมาก (และยังคงเพิ่มขึ้น)"
นี่จะเป็นรายการที่ค่อนข้างสั้น มันจะมากขึ้นง่ายสำหรับคนใหม่นี้เพื่อหาผู้กระทำผิดจากรายการนี้กว่าจากการส่งออกของการพูด, htop
ซึ่งทำให้ผมประมาณ 5000 หมายเลข แต่ฉันต้องพับกระบวนการแบบมัลติเธรดตัวเอง (ฉันมี 50 สายซึ่งพูดVIRT 2750M
แต่ RAM เพียง 16 GB - เครื่องควรสลับตัวเองไปสู่ความตาย แต่แน่นอนว่านี่เป็นการตีความข้อมูลที่ผิดพลาดอย่างรวดเร็ว)
top
)