คุณช่วยฉันจัดการเรื่องนี้ได้ไหม ฉันพยายามเขียนสคริปต์ทุบตีซึ่งจะตรวจสอบการใช้ 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