บทความนี้เป็นส่วนหนึ่งของ ชุดตัวอย่าง 15 รายการ ที่กำลังดำเนินอยู่ โดยจะมีการจัดเตรียมตัวอย่าง 15 ตัวอย่างสำหรับคำสั่งหรือฟังก์ชันการทำงานเฉพาะ ในชุดนี้ ก่อนหน้านี้เราได้พูดคุยกันเกี่ยวกับคำสั่ง find, ตัวอย่าง crontab, คำสั่ง grep, คำสั่ง history, คำสั่ง ping และตัวอย่าง wget
ในบทความนี้ เราจะมาทบทวน 15 ตัวอย่างสำหรับ คำสั่งด้านบนของ Linux ซึ่งจะเป็นประโยชน์สำหรับทั้งมือใหม่และผู้เชี่ยวชาญ
ป>
1. แสดงกระบวนการที่เรียงลำดับตามคอลัมน์ผลลัพธ์ด้านบน – กด O
ตามค่าเริ่มต้น คำสั่งด้านบนจะแสดงกระบวนการตามลำดับการใช้งาน CPU เมื่อคำสั่งบนสุดกำลังทำงาน ให้กด M (ตัวพิมพ์ใหญ่) เพื่อแสดงกระบวนการที่เรียงลำดับตามการใช้หน่วยความจำดังที่แสดงด้านล่าง

รูป :กด M เพื่อจัดเรียงตามการใช้หน่วยความจำ – คำสั่ง Unix top
หากต้องการจัดเรียงเอาต์พุตด้านบนตามคอลัมน์ใดๆ ให้กด O (ตัวพิมพ์ใหญ่ O) ซึ่งจะแสดงคอลัมน์ที่เป็นไปได้ทั้งหมดที่คุณสามารถจัดเรียงตามที่แสดงด้านล่าง
Current Sort Field: P for window 1:Def Select sort field via field letter, type any other key to return a: PID = Process Id v: nDRT = Dirty Pages count d: UID = User Id y: WCHAN = Sleeping in Function e: USER = User Name z: Flags = Task Flags ........
เมื่อคำสั่ง linux top ทำงาน กด R ซึ่งเรียงลำดับย้อนกลับ
2. ฆ่างานโดยไม่ต้องออกจากด้านบน – กด k
เมื่อคุณพบกระบวนการที่ต้องถูกฆ่าแล้ว ให้กด 'k' ซึ่งจะขอรหัสกระบวนการและส่งสัญญาณให้ส่ง หากคุณมีสิทธิ์ฆ่า PID นั้น มันจะถูกฆ่าสำเร็จ
PID to kill: 1309 Kill PID 1309 with signal [15]: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent 5136 root 16 0 38040 14m 9836 S 0 0.2 0:00.39 nautilus
3. สร้างกระบวนการ Unix โดยไม่ต้องออกจากด้านบน – กด r
กด r, หากคุณต้องการเปลี่ยนลำดับความสำคัญของกระบวนการ (และไม่ฆ่ากระบวนการ) สิ่งนี้จะขอ PID เพื่อดำเนินการใหม่ ป้อน PID และลำดับความสำคัญ
PID to renice: 1309 Renice PID 1309 to value: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
4. แสดงผู้ใช้ที่เลือกในเอาต์พุตสูงสุดโดยใช้ top -u
ใช้ top -u เพื่อแสดงกระบวนการของผู้ใช้เฉพาะในเอาต์พุตคำสั่งด้านบนเท่านั้น
$ top -u geek
ขณะที่คำสั่ง unix top ทำงานอยู่ ให้กด u ซึ่งจะถามชื่อผู้ใช้ดังที่แสดงด้านล่าง
Which user (blank for all): geek PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
แสดงเฉพาะกระบวนการเฉพาะที่มี PID ที่กำหนดโดยใช้ top -p
ใช้ top -p ตามที่แสดงด้านล่างเพื่อแสดง PID เฉพาะ
$ top -p 1309, 1882 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
5. แสดง CPU / Core ทั้งหมดในเอาต์พุตสูงสุด – กด 1 (หนึ่ง)
เอาต์พุตระดับบนสุดตามค่าเริ่มต้นจะแสดงสาย CPU สำหรับ CPU ทั้งหมดรวมกันดังที่แสดงด้านล่าง
top - 20:10:39 up 40 days, 23:02, 1 user, load average: 4.97, 2.01, 1.25 Tasks: 310 total, 1 running, 309 sleeping, 0 stopped, 0 zombie Cpu(s): 0.5%us, 0.7%sy, 0.0%ni, 92.3%id, 6.4%wa, 0.0%hi, 0.0%si, 0.0%st
กด 1 (หนึ่ง) เมื่อคำสั่งบนสุดกำลังทำงานอยู่ ซึ่งจะแยก CPU ลงและแสดงรายละเอียดสำหรับ CPU แต่ละตัวที่ทำงานบนระบบดังที่แสดงด้านล่าง
top - 20:10:07 up 40 days, 23:03, 1 user, load average: 5.32, 2.38, 1.39 Tasks: 341 total, 3 running, 337 sleeping, 0 stopped, 1 zombie Cpu0 : 7.7%us, 1.7%sy, 0.0%ni, 79.5%id, 11.1%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.3%us, 0.0%sy, 0.0%ni, 94.9%id, 4.7%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 3.3%us, 0.7%sy, 0.0%ni, 55.7%id, 40.3%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 5.0%us, 1.0%sy, 0.0%ni, 86.2%id, 7.4%wa, 0.0%hi, 0.3%si, 0.0%st Cpu4 : 38.5%us, 5.4%sy, 0.3%ni, 0.0%id, 54.8%wa, 0.0%hi, 1.0%si, 0.0%st Cpu5 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 0.3%us, 0.7%sy, 0.0%ni, 97.3%id, 1.7%wa, 0.0%hi, 0.0%si, 0.0%st Cpu7 : 5.4%us, 4.4%sy, 0.0%ni, 82.6%id, 7.7%wa, 0.0%hi, 0.0%si, 0.0%st Cpu8 : 1.7%us, 1.7%sy, 0.0%ni, 72.8%id, 23.8%wa, 0.0%hi, 0.0%si, 0.0%st
6. รีเฟรชเอาต์พุตคำสั่งบน Unix ตามความต้องการ (หรือ) เปลี่ยนช่วงการรีเฟรช
ตามค่าเริ่มต้น คำสั่ง linux top จะอัพเดตเอาต์พุตทุกๆ 3.0 วินาที เมื่อคุณต้องการอัพเดตเอาต์พุตตามความต้องการ ให้กด space bar
หากต้องการเปลี่ยนความถี่การอัปเดตเอาต์พุต ให้กด d ในโหมดโต้ตอบ และป้อนเวลาเป็นวินาทีตามที่แสดงด้านล่าง
Change delay from 3.0 to: 10 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
7. ไฮไลต์กระบวนการที่รันอยู่ในเอาต์พุตคำสั่ง Linux Top – กด z หรือ b
กด z หรือ b ซึ่งจะไฮไลต์กระบวนการที่ทำงานอยู่ทั้งหมดดังที่แสดงด้านล่าง

รูป :Ubuntu Linux – คำสั่งด้านบนเน้นกระบวนการทำงาน
8. แสดงเส้นทางที่แน่นอนของคำสั่งและอาร์กิวเมนต์ – กด c
กด c ซึ่งจะแสดง / ซ่อนพาธสัมบูรณ์ของคำสั่ง และอาร์กิวเมนต์ตามที่แสดงด้านล่าง
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 /usr/sbin/gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 /usr/sbin/gagent -l 0 -u pre
9. ออกจากคำสั่งยอดนิยมหลังจากการวนซ้ำตามจำนวนที่ระบุโดยใช้ top -n
จนกว่าคุณจะกด q ด้านบนจะแสดงเอาต์พุตอย่างต่อเนื่อง หากคุณต้องการดูเฉพาะการวนซ้ำและต้องการให้ด้านบนออกโดยอัตโนมัติ ให้ใช้ตัวเลือก -n ดังที่แสดงด้านล่าง
ตัวอย่างต่อไปนี้จะแสดงการวนซ้ำ 2 ครั้งของเอาต์พุตคำสั่ง unix top และออกโดยอัตโนมัติ
$ top -n 2
10. การดำเนินการคำสั่ง Unix Top ในโหมดแบทช์
หากคุณต้องการดำเนินการคำสั่งด้านบนในโหมดแบตช์ ให้ใช้ตัวเลือก -b ดังที่แสดงด้านล่าง
$ top -b -n 1
หมายเหตุ: ตัวเลือกนี้มีประโยชน์มากเมื่อคุณต้องการบันทึกเอาต์พุตคำสั่ง unix top ไปยังไฟล์ข้อความที่อ่านได้ดังที่เราได้กล่าวไว้ก่อนหน้านี้
11. แยกเอาต์พุตด้านบนออกเป็นหลายพาเนล – กด A
หากต้องการแสดงเอาต์พุตคำสั่งด้านบนหลายมุมมองบนเทอร์มินัล ให้กด A คุณสามารถวนดูหน้าต่างเหล่านี้ได้โดยใช้ 'a' สิ่งนี้มีประโยชน์มาก เมื่อคุณสามารถจัดเรียงเอาต์พุตบนหลายหน้าต่างโดยใช้คอลัมน์เอาต์พุตด้านบนที่แตกต่างกันได้
12. รับความช่วยเหลือด้านการสั่งการระดับสูงจาก Command Line และการโต้ตอบ
รับความช่วยเหลือเกี่ยวกับตัวเลือกบรรทัดคำสั่งด่วนโดยใช้ top -h ดังที่แสดงด้านล่าง
$ top -h top: procps version 3.2.0 usage: top -hv | -bcisS -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
กด h ขณะที่คำสั่งด้านบนกำลังทำงาน ซึ่งจะแสดงความช่วยเหลือสำหรับคำสั่งด้านบนแบบโต้ตอบ
Help for Interactive Commands - procps version 3.2.0 Window 1:Def: Cumulative mode Off. System: Delay 3.0 secs; Secure mode Off. Z,B Global: 'Z' change color mappings; 'B' disable/enable bold l,t,m Toggle Summaries: 'l' load avg; 't' task/cpu stats; 'm' mem info 1,I Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode ..........
13. ลดจำนวนกระบวนการที่แสดงในเอาต์พุตด้านบน – กด n
กด n ในโหมดโต้ตอบ ซึ่งจะแจ้งตัวเลขและแสดงเฉพาะตัวเลขนั้น ตัวอย่างต่อไปนี้จะแสดงเพียง 2 กระบวนการในแต่ละครั้ง
Maximum tasks = 0, change to (0 is unlimited): 2 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent 1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
14. สลับส่วนหัวด้านบนเพื่อเพิ่มจำนวนกระบวนการที่แสดง
ตามค่าเริ่มต้นด้านบนจะแสดงกระบวนการจำนวนทั้งหมดตามความสูงของหน้าต่าง หากคุณต้องการดูกระบวนการเพิ่มเติม คุณอาจต้องการลบข้อมูลส่วนหัวด้านบนบางส่วนออก
ต่อไปนี้เป็นข้อมูลส่วนหัวเริ่มต้นที่จัดทำโดยด้านบน
top - 23:47:32 up 179 days, 3:36, 1 user, load average: 0.01, 0.03, 0.00 Tasks: 67 total, 1 running, 66 sleeping, 0 stopped, 0 zombie Cpu(s): 0.7% user, 1.2% system, 0.0% nice, 98.0% idle Mem: 1017136k total, 954652k used, 62484k free, 138280k buffers Swap: 3068404k total, 22352k used, 3046052k free, 586576k cached
- กด l – เพื่อซ่อน / แสดงค่าเฉลี่ยการโหลด บรรทัดส่วนหัวที่ 1
- กด t – เพื่อซ่อน / แสดงสถานะของ CPU บรรทัดส่วนหัวที่ 2 และ 3
- กด m – เพื่อซ่อน / แสดงข้อมูลหน่วยความจำ บรรทัดที่ 4 และ 5
15. บันทึกการตั้งค่าการกำหนดค่าสูงสุด – กด W
หากคุณได้ทำการกำหนดค่าคำสั่งบนสุดแบบโต้ตอบที่แนะนำในตัวอย่างข้างต้น คุณอาจต้องการบันทึกการกำหนดค่าเหล่านั้นสำหรับเอาต์พุตคำสั่งบนสุดในอนาคตทั้งหมด เมื่อคุณบันทึกการกำหนดค่าสูงสุดแล้ว ครั้งต่อไปเมื่อคุณเรียกใช้คำสั่งด้านบน ตัวเลือกการกำหนดค่าด้านบนที่บันทึกไว้ทั้งหมดจะถูกนำมาใช้โดยอัตโนมัติ
หากต้องการบันทึกการกำหนดค่าสูงสุด ให้กด W ซึ่งจะเขียนไฟล์การกำหนดค่าไปที่ ~/.toprc นี่จะแสดงข้อความยืนยันการเขียนดังที่แสดงด้านล่าง
top - 23:47:32 up 179 days, 3:36, 1 user, load average: 0.01, 0.03, 0.00 Tasks: 67 total, 1 running, 66 sleeping, 0 stopped, 0 zombie Cpu(s): 0.7% user, 1.2% system, 0.0% nice, 98.0% idle Mem: 1017136k total, 954652k used, 62484k free, 138280k buffers Swap: 3068404k total, 22352k used, 3046052k free, 586576k cached Wrote configuration to '/home/ramesh/.toprc'