วิธีบันทึกเอาต์พุตคำสั่งยอดนิยมลงในไฟล์
ผู้ดูแลระบบใช้คำสั่ง Linux top เพื่อแสดงสถิติระบบแบบเรียลไทม์เกี่ยวกับ เวลาทำงานของระบบ และ ค่าเฉลี่ยการโหลด, หน่วยความจำที่ใช้, งานที่กำลังรันอยู่ สรุปกระบวนการหรือเธรด และข้อมูลโดยละเอียดเกี่ยวกับแต่ละกระบวนการที่ทำงานอยู่
อย่างไรก็ตาม นอกเหนือจากการดูระบบที่ทำงานอยู่แบบเรียลไทม์แล้ว เอาต์พุตคำสั่ง top ยังสามารถบันทึกลงในไฟล์ได้โดยใช้แฟล็ก -b
ซึ่งสั่งให้ top ทำงานในโหมดแบตช์และ -n
เพื่อระบุจำนวนการวนซ้ำที่คำสั่งควรส่งออก
ในตัวอย่างด้านล่าง เราจะเปลี่ยนเส้นทางเอาต์พุตของ top command ไปยังไฟล์ top.txt
ในไดเร็กทอรีการทำงานปัจจุบัน อาร์กิวเมนต์ -n จะถูกใช้เพื่อส่งสแน็ปช็อตเดียวของคำสั่งไปยังไฟล์ดังกล่าว
top -b -n 1 > top.txt
หากต้องการอ่านไฟล์ผลลัพธ์ ให้ใช้ยูทิลิตีโปรแกรมอ่านไฟล์บรรทัดคำสั่ง เช่น คำสั่ง cat น้อยกว่าหรือมากกว่า
less top.txt
หากต้องการทำซ้ำห้าครั้งของ คำสั่งด้านบน ให้ดำเนินการคำสั่งตามที่แสดงในข้อความที่ตัดตอนมาด้านล่าง
top -b -n 5 > top-5iterations.txt
เพื่อแสดงเฉพาะจำนวนงานที่รันอยู่จากไฟล์ผลลัพธ์ ให้ใช้ตัวกรอง grep ดังแสดงในตัวอย่างคำสั่งด้านล่าง
cat top-5iterations.txt | grep Tasks
หากต้องการถ่ายภาพกระบวนการเฉพาะใน ยูทิลิตี้ระดับบนสุด ให้ดำเนินการคำสั่งด้วยแฟล็ก PID (-p)
หากต้องการรับ PID ของกระบวนการที่กำลังทำงานอยู่ ให้ออก คำสั่ง pidof กับชื่อของกระบวนการที่กำลังทำงานอยู่
ในตัวอย่างนี้ เราจะตรวจสอบกระบวนการ cron ผ่านทาง คำสั่งด้านบน โดยการถ่ายภาพ PID สามภาพ
pidof crond
top -p 678 -b -n3 > cron.txt
cat cron.txt
การใช้ลูปวนซ้ำ for ทำให้เราสามารถแสดงสถิติกระบวนการผ่าน PID ของมันทุกๆ สองวินาที ดังที่แสดงในตัวอย่างด้านล่าง เอาต์พุตของการวนซ้ำสามารถเปลี่ยนเส้นทางไปยังไฟล์ได้ เราจะใช้ cron PID เดียวกันกับที่แสดงในตัวอย่างด้านบน
for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done
เปลี่ยนเส้นทางเอาต์พุตลูปไปยังไฟล์
for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
cat cron.txt
นี่เป็นเพียงตัวอย่างเล็กๆ น้อยๆ เกี่ยวกับวิธีที่คุณสามารถตรวจสอบและรวบรวมระบบและประมวลผลสถิติผ่าน คำสั่งบนสุด