จะค้นหากระบวนการที่ใช้ RAM มากที่สุดใน X วินาทีสุดท้ายได้อย่างไร


1

คุณช่วยฉันจัดการเรื่องนี้ได้ไหม ฉันพยายามเขียนสคริปต์ทุบตีซึ่งจะตรวจสอบการใช้ ram (ไม่เพียง ram แต่ cpu และเครือข่ายเช่นกัน) และแสดง 3 กระบวนการที่ใช้ ram มากที่สุดในช่วง X วินาทีที่ผ่านมา? ฉันรู้ว่าฉันสามารถค้นหาว่ากระบวนการใดใช้ RAM มากที่สุดด้วยการรันสิ่งต่อไปนี้:

ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -n 3

แต่สิ่งนี้จะเกิดขึ้นซ้ำได้อย่างไร? ฉันต้องการที่จะไม่เห็นสถานการณ์ในวินาทีนี้ แต่ตรวจสอบสถานการณ์เป็นเวลา 60 วินาทีและดูกระบวนการ 3 อันดับแรกที่ใช้หน่วยความจำมากที่สุด


ทำไมคุณไม่ใช้ top ในโหมด batch (-b) เพื่อระบุ -d และ -n ตามความต้องการของคุณ?
Gombai Sándor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.