Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

15 ตัวอย่างคำสั่ง Linux Top ที่จำเป็นสำหรับผู้เริ่มต้นและผู้เชี่ยวชาญ

15 ตัวอย่างคำสั่ง Linux Top ที่จำเป็นสำหรับผู้เริ่มต้นและผู้เชี่ยวชาญบทความนี้เป็นส่วนหนึ่งของซีรีส์ 15 ตัวอย่าง ที่ดำเนินต่อไป ซึ่งให้ 15 ตัวอย่างสำหรับคำสั่งหรือฟังก์ชันเฉพาะ ในซีรีส์นี้ก่อนหน้านี้เราได้อภิปรายเกี่ยวกับคำสั่ง find, ตัวอย่าง crontab, คำสั่ง grep, คำสั่ง history, คำสั่ง ping, และตัวอย่าง wget

ในบทความนี้ เราจะทบทวน 15 ตัวอย่างสำหรับ คำสั่ง Linux top ที่จะช่วยได้ทั้งมือใหม่และผู้เชี่ยวชาญ

1. แสดงกระบวนการเรียงตามคอลัมน์ Top ใดๆ – กด O

โดยค่าเริ่มต้น top แสดงกระบวนการเรียงตามการใช้ CPU เมื่อ top กำลังรันอยู่ กด M (พิมพ์ใหญ่) เพื่อแสดงกระบวนการเรียงตามการใช้หน่วยความจำ ตามด้านล่าง
15 ตัวอย่างคำสั่ง Linux Top ที่จำเป็นสำหรับผู้เริ่มต้นและผู้เชี่ยวชาญ

รูป: กด M เพื่อเรียงตามการใช้หน่วยความจำ – คำสั่ง top 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. ตายกระบวนการโดยไม่ต้องออกจาก Top – กด k

เมื่อคุณพบกระบวนการที่ต้องตาย ให้กด 'k' ซึ่งจะถาม process id และสัญญาณที่จะส่ง หากคุณมีสิทธิ์ตาย 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. ปรับค่า nice ของกระบวนการ Unix โดยไม่ต้องออกจาก Top – กด r

กด r, หากต้องการเปลี่ยนลำดับความสำคัญของกระบวนการ (แต่ไม่ตายกระบวนการ) จะถาม PID สำหรับ renice ใส่ PID และค่า priority

 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 ด้วย top -u

ใช้ top -u เพื่อแสดงกระบวนการของผู้ใช้เฉพาะในเอาต์พุตคำสั่ง top

$ 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/โคร์ทั้งหมดในเอาต์พุต Top – กด 1 (หนึ่ง)

เอาต์พุต Top โดยค่าเริ่มต้นแสดงบรรทัด 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 (หนึ่ง) เมื่อคำสั่ง top กำลังรัน จะแยก 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 Top ตามต้องการ (หรือ) เปลี่ยนช่วงเวลารีเฟรช

โดยค่าเริ่มต้น คำสั่ง 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 จะไฮไลท์กระบวนการที่กำลังรันทั้งหมด ตามด้านล่าง
15 ตัวอย่างคำสั่ง Linux Top ที่จำเป็นสำหรับผู้เริ่มต้นและผู้เชี่ยวชาญ

รูป: Ubuntu Linux – คำสั่ง top ไฮไลท์กระบวนการที่กำลังรัน

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 หลังจำนวนรอบที่กำหนด ด้วย top -n

จนกว่าคุณจะกด q top จะแสดงเอาต์พุตต่อเนื่อง หากต้องการดูแค่จำนวนรอบที่กำหนดและให้ top ออกอัตโนมัติ ใช้ตัวเลือก -n ตามด้านล่าง

ตัวอย่างต่อไปนี้จะแสดง 2 รอบของเอาต์พุตคำสั่ง unix top และออกอัตโนมัติ

$ top -n 2

10. รันคำสั่ง Unix Top ในโหมด Batch

หากต้องการรันคำสั่ง top ในโหมด batch ใช้ตัวเลือก -b ตามด้านล่าง

$ top -b -n 1

หมายเหตุ: ตัวเลือกนี้มีประโยชน์มากเมื่อต้องการบันทึกเอาต์พุตคำสั่ง unix top ลงในไฟล์ข้อความที่อ่านง่าย ตามที่อภิปรายก่อนหน้านี้

11. แบ่งเอาต์พุต Top เป็นหลายแผง – กด A

เพื่อแสดงมุมมองหลายมุมของเอาต์พุตคำสั่ง top บนเทอร์มินอล ให้กด A คุณสามารถวนผ่านหน้าต่างเหล่านี้ด้วย 'a' นี่มีประโยชน์มาก เมื่อคุณสามารถเรียงเอาต์พุตบนหลายหน้าต่างด้วยคอลัมน์ top ที่ต่างกัน

12. ได้ความช่วยเหลือคำสั่ง Top จากบรรทัดคำสั่งและโหมดโต้ตอบ

ได้ความช่วยเหลือตัวเลือกบรรทัดคำสั่งแบบรวดเร็วด้วย 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 ขณะคำสั่ง top กำลังรัน จะแสดงความช่วยเหลือสำหรับคำสั่ง top โต้ตอบ

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. ลดจำนวนกระบวนการที่แสดงในเอาต์พุต Top – กด 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 เพื่อเพิ่มจำนวนกระบวนการที่แสดง

โดยค่าเริ่มต้น top แสดงจำนวนกระบวนการทั้งหมดตามความสูงของหน้าต่าง หากต้องการดูกระบวนการเพิ่มเติม อาจต้องกำจัดข้อมูลหัวบางส่วนของ top

ต่อไปนี้คือข้อมูลหัวเริ่มต้นที่ top ให้มา

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 – ซ่อน/แสดง load average บรรทัดหัวที่ 1
  • กด t – ซ่อน/แสดงสถานะ CPU บรรทัดหัวที่ 2 และ 3
  • กด m – ซ่อน/แสดงข้อมูลหน่วยความจำ บรรทัดที่ 4 และ 5

15. บันทึกการตั้งค่า Top – กด W

หากคุณได้ตั้งค่า top แบบโต้ตอบตามตัวอย่างข้างต้น คุณอาจต้องการบันทึกไว้สำหรับเอาต์พุต top ทุกครั้งในอนาคต เมื่อบันทึกการตั้งค่า top แล้ว ครั้งต่อไปที่เรียกคำสั่ง top การตั้งค่าที่บันทึกจะถูกใช้โดยอัตโนมัติ

เพื่อบันทึกการตั้งค่า top ให้กด 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'