วิธีใช้คำสั่งบนสุดของ Linux (และทำความเข้าใจผลลัพธ์)
เผยแพร่แล้ว: 2022-01-29 คำสั่ง top
ของลินุกซ์เป็นหนึ่งในระบบปฏิบัติการที่คล้ายยูนิกซ์ จอแสดงผลที่เป็นประโยชน์นั้นอัดแน่นไปด้วยข้อมูลที่เป็นประโยชน์เกี่ยวกับกระบวนการทำงานของระบบและการใช้ทรัพยากร แต่คุณรู้หรือไม่ว่ามันยังรองรับสี การเน้นสี และแม้แต่กราฟเบื้องต้นด้วย
แดชบอร์ดที่เต็มไปด้วยข้อมูล
คำสั่ง top
มีมาตั้งแต่ปี 1984 และมีหลายตัวแปร สำหรับบทความนี้ เราใช้ Ubuntu 18.04 โดยมีการใช้แพตช์ทั้งหมด และเวอร์ชัน 3.3.12 ของ top
. เรายังได้ทำการอ้างอิงโยงทุกอย่างบนคอมพิวเตอร์ทดสอบอีกสองเครื่อง เครื่องหนึ่งใช้ Fedora และอีกเครื่องหนึ่งใช้ Manjaro
การแสดงข้อมูล top
ที่เป็นค่าเริ่มต้นจะอัดข้อมูลให้มากที่สุดในหน้าต่างเทอร์มินัล ข้อมูลเป็นข้อกำหนดเบื้องต้นสำหรับการบริหารงาน ดังนั้นนี่จึงเป็นสิ่งที่ดี คุณลักษณะหนึ่งของผู้ดูแลระบบที่ดีคือความสามารถในการระบุปัญหาที่เกิดขึ้นใหม่และจัดการกับปัญหาก่อนที่จะส่งผลกระทบต่อบริการ top
ให้แดชบอร์ดของตัวชี้วัดระบบต่างๆ มากมายที่ช่วยให้คุณทำอย่างนั้นได้
จอแสดงผลอธิบายได้ดีที่สุดว่าใช้งานได้จริง มากกว่าใช้งานง่าย และมีตัวย่อมากมาย เมื่อคุณเจอ top
ครั้งแรก จะรู้สึกคับแคบ คลุมเครือ และไม่น่าไว้วางใจ ด้วยการกดเพียงไม่กี่ครั้ง คุณสามารถปรับแต่งเนื้อหาและรูปแบบของจอแสดงผลได้ตามสิ่งที่สำคัญสำหรับคุณ
ตรวจสอบเวอร์ชันของคุณด้านบน
หากต้องการตรวจสอบว่าคุณมีท็อปเวอร์ชันใด ให้พิมพ์หน้าต่างเทอร์มินัลต่อไปนี้:
ด้านบน -v
หากเวอร์ชันของคุณช้ากว่า 3.3.12 เวอร์ชันนั้นอาจไม่สนับสนุนคุณลักษณะทั้งหมดที่เราจะกล่าวถึง
การแสดงผลเริ่มต้น
คุณสามารถเริ่มต้น top
โดยพิมพ์ข้อความต่อไปนี้แล้วกด "Enter":
สูงสุด
การแสดงผลเริ่มต้นประกอบด้วยข้อมูลสองส่วน: พื้นที่สรุป (หรือแดชบอร์ด) และพื้นที่งาน (หรือรายการกระบวนการ) ตามค่าเริ่มต้น top
จะอัปเดตการแสดงผลทุกๆ สามวินาที คุณจะสังเกตเห็นการสั่นไหวเล็กน้อยเมื่อแสดง
ตัวเลขบรรทัดแรกบนแดชบอร์ดประกอบด้วยเวลา คอมพิวเตอร์ของคุณใช้งานได้นานเท่าใด จำนวนคนที่เข้าสู่ระบบ และค่าเฉลี่ยโหลดเป็นเท่าใดในหนึ่ง ห้า และ 15 นาทีที่ผ่านมา บรรทัดที่สองแสดงจำนวนงานและสถานะ: กำลังทำงาน หยุด หลับ หรือซอมบี้
บรรทัดที่สามแสดงค่าหน่วยประมวลผลกลาง (CPU) ต่อไปนี้:
- เรา: ระยะเวลาที่ CPU ใช้ในการประมวลผลสำหรับผู้ใช้ใน "พื้นที่ผู้ใช้"
- sy: ระยะเวลาที่ใช้กับกระบวนการ "พื้นที่เคอร์เนล" ของระบบ
- พรรณี: ระยะเวลาที่ใช้ในการดำเนินกระบวนการด้วยค่าดีที่กำหนดด้วยตนเอง
- id: จำนวนเวลาที่ CPU ไม่ได้ใช้งาน
- wa: ระยะเวลาที่ CPU ใช้ในการรอให้ I/O ดำเนินการจนเสร็จ
- สวัสดี: ระยะเวลาที่ใช้ในการให้บริการขัดจังหวะฮาร์ดแวร์
- si: ระยะเวลาที่ใช้ในการให้บริการซอฟต์แวร์ขัดจังหวะ
- st: ระยะเวลาที่สูญเสียไปเนื่องจากการเรียกใช้เครื่องเสมือน ("ขโมยเวลา")
บรรทัดที่สี่แสดงจำนวนหน่วยความจำกายภาพทั้งหมด (เป็นกิบิไบต์) และจำนวนหน่วยความจำที่ว่าง ใช้งาน และบัฟเฟอร์หรือแคช
บรรทัดที่ห้าแสดงจำนวนรวมของหน่วยความจำสว็อป (เช่น กิบิไบต์) และจำนวนที่ว่าง ใช้ และพร้อมใช้งาน ส่วนหลังมีหน่วยความจำที่คาดว่าจะสามารถกู้คืนได้จากแคช
ส่วนหัวของคอลัมน์ในรายการกระบวนการมีดังนี้:
- PID: รหัสกระบวนการ
- USER: เจ้าของกระบวนการ
- PR: ลำดับความสำคัญของกระบวนการ
- NI: คุณค่าที่ดีของกระบวนการ
- VIRT: จำนวนหน่วยความจำเสมือนที่ใช้โดยกระบวนการ
- RES: จำนวนหน่วยความจำภายในที่ใช้โดยกระบวนการ
- SHR: จำนวนหน่วยความจำที่ใช้ร่วมกันที่ใช้โดยกระบวนการ
- S: สถานะของกระบวนการ (ดูรายการด้านล่างสำหรับค่าที่ฟิลด์นี้สามารถรับได้)
- %CPU: ส่วนแบ่งของเวลา CPU ที่ใช้โดยกระบวนการตั้งแต่การอัปเดตครั้งล่าสุด
- % MEM: ส่วนแบ่งของหน่วยความจำกายภาพที่ใช้
- TIME+: เวลา CPU ทั้งหมดที่ใช้โดยงานในหน่วยเสี้ยววินาที
- คำ สั่ง: ชื่อคำสั่งหรือบรรทัดคำสั่ง (ชื่อ + ตัวเลือก)
ค่าหน่วยความจำจะแสดงเป็นกิโลไบต์ คอลัมน์ COMMAND
อยู่นอกหน้าจอทางด้านขวา—ไม่พอดีกับรูปภาพด้านบน แต่เราจะได้เห็นมันในไม่ช้า
สถานะของกระบวนการสามารถเป็นอย่างใดอย่างหนึ่งต่อไปนี้:
- D: การนอนหลับอย่างต่อเนื่อง
- R: วิ่ง
- ส: นอน
- T: ตามรอย (หยุด)
- Z: ซอมบี้
กด Q เพื่อออกจาก top
การเลื่อนหน้าจอ
คุณสามารถกดแป้นลูกศรขึ้นหรือลง หน้าแรก สิ้นสุด และเลื่อนขึ้นหรือลงเพื่อเลื่อนขึ้นและลงและเข้าถึงกระบวนการทั้งหมด
กดลูกศรซ้ายหรือขวาเพื่อย้ายรายการกระบวนการไปด้านข้าง วิธีนี้มีประโยชน์ในการดูคอลัมน์ที่ไม่พอดีกับขอบเขตของหน้าต่างเทอร์มินัล
ในภาพด้านล่าง เราได้กดลูกศรขวาสองสามครั้งเพื่อดูคอลัมน์ COMMAND
การเปลี่ยนหน่วยตัวเลข
ลองเปลี่ยนหน่วยแสดงผลเป็นค่าที่สมเหตุสมผล กดตัวพิมพ์ใหญ่ E เพื่อหมุนเวียนหน่วยที่ใช้แสดงค่าหน่วยความจำในตัวเลือกเหล่านี้: กิบิไบต์ เมบิไบต์ กิบิไบต์ เทบิไบต์ เพบิไบต์ และเอ็กซ์บิไบต์ หน่วยที่ใช้งานเป็นรายการแรกในบรรทัดที่สี่และห้า
กดตัวพิมพ์เล็ก "e" เพื่อทำสิ่งเดียวกันกับค่าในรายการกระบวนการ: kibibytes, mebibytes, gibibytes, tebibytes และ pebibytes
เรากด E เพื่อตั้งค่าหน่วยหน่วยความจำแดชบอร์ดเป็นกิกะไบต์และ "e" เพื่อตั้งค่าหน่วยความจำรายการกระบวนการเป็นเมบิไบต์
การเปลี่ยนเนื้อหาสรุป
คุณสามารถเปลี่ยนการตั้งค่าการแสดงผลสำหรับบรรทัดในแดชบอร์ดหรือลบออกทั้งหมดได้
กด l เพื่อเปิดหรือปิดบรรทัดสรุปการโหลด (บรรทัดแรก) เราลบบรรทัดสรุปการโหลดในภาพด้านล่าง
หากคุณมี CPU แบบมัลติคอร์ กด 1 เพื่อเปลี่ยนการแสดงผลและดูสถิติแต่ละรายการสำหรับ CPU แต่ละตัว คอมพิวเตอร์ของเรามีซีพียูสี่ตัว เรากด 1 เพื่อดูว่าแต่ละคนทำงานหนักแค่ไหน
แน่นอนว่าสิ่งนี้ใช้พื้นที่หน้าจอมากขึ้นภายในหน้าต่างเทอร์มินัล
คุณสามารถกด "t" เพื่อสลับการแสดงผลของ CPU เป็นกราฟ ASCII แบบง่ายที่แสดงเปอร์เซ็นต์การใช้งานสำหรับ CPU แต่ละตัว
สำหรับ CPU แต่ละตัว top
จะแสดงตัวเลขสามตัวและกราฟ จากซ้ายไปขวาเป็นตัวเลขดังนี้
- เปอร์เซ็นต์ที่รวม
us
และni
(พื้นที่ผู้ใช้ + งานที่มีการตั้งค่าที่ดีไม่เป็นมาตรฐาน) - เปอร์เซ็นต์
sy
(พื้นที่เคอร์เนล) - ผลรวม (ปัดเศษเป็นค่าจำนวนเต็ม)
กด "t" อีกครั้งเพื่อเปลี่ยนการแสดงกราฟเป็นอักขระบล็อกทึบ
กด "t" อีกครั้งเพื่อลบหน้าจอ CPU และบรรทัดสรุปงานอย่างสมบูรณ์
กด “m” เพื่อวนรอบหน่วยความจำและสลับบรรทัดหน่วยความจำผ่านตัวเลือกการแสดงผลต่างๆ การกดครั้งแรกจะแทนที่สถิติด้วยกราฟ ASCII
กดอื่นเปลี่ยนกราฟเพื่อบล็อกตัวอักษร
กด “m” อีกครั้งเพื่อลบสาย CPU ทั้งหมด
หากต้องการ คุณสามารถดูกราฟ CPU และหน่วยความจำได้พร้อมกัน เพียงกด "t" และ "m" จนกว่าคุณจะได้ชุดค่าผสมที่คุณต้องการ
สีและไฮไลท์
คุณสามารถกด “z” เพื่อเพิ่มสีสันให้กับจอแสดงผล
เมื่อคุณนึกถึง top
คุณอาจไม่ได้นึกถึงการแสดงสีและกราฟ ASCII แต่สิ่งเหล่านี้สร้างขึ้น
กด "y" เพื่อเน้นงานที่กำลังทำงานอยู่ในรายการกระบวนการ การกด "x" จะไฮไลต์คอลัมน์ที่ใช้จัดเรียงรายการกระบวนการ คุณสามารถสลับระหว่างการเน้นข้อความตัวหนาและกลับด้านได้โดยกด "b"
เรียงตามคอลัมน์
ตามค่าเริ่มต้น รายการกระบวนการจะถูกจัดเรียงตามคอลัมน์ %CPU
คุณสามารถเปลี่ยนคอลัมน์การจัดเรียงได้โดยกดดังต่อไปนี้:
- ป : คอลัมน์
%CPU
- M: คอลัมน์
%MEM
- N: คอลัมน์
PID
- T: คอลัมน์
TIME+
ในภาพด้านล่าง รายการกระบวนการจะจัดเรียงตามคอลัมน์ PID
ดูบรรทัดคำสั่งแบบเต็ม
การกด "c" จะสลับคอลัมน์ COMMAND ระหว่างการแสดงชื่อกระบวนการและบรรทัดคำสั่งแบบเต็ม
หากต้องการดู "แผนผัง" ของกระบวนการที่เรียกใช้หรือเกิดจากกระบวนการอื่น ให้กด V
ดูกระบวนการสำหรับผู้ใช้คนเดียว
กด “u” เพื่อดูกระบวนการสำหรับผู้ใช้คนเดียว คุณจะได้รับพร้อมท์ให้ใส่ชื่อหรือ UID
พิมพ์ชื่อ UID ของบุคคลที่คุณต้องการตรวจสอบ เราจะพิมพ์ “dave” และกด “Enter” ตอนนี้ กระบวนการเดียวในพื้นที่งานเป็นของ dave
ผู้ใช้
ดูเฉพาะงานที่ใช้งานอยู่
กด I เพื่อดูเฉพาะงานที่ใช้งานอยู่
งานที่ไม่ได้ใช้ CPU เลยตั้งแต่อัปเดตครั้งล่าสุดจะไม่แสดงขึ้น
กำหนดจำนวนกระบวนการที่จะแสดง
กด "n" เพื่อจำกัดการแสดงผลเป็นจำนวนบรรทัดที่กำหนด โดยไม่คำนึงว่างานจะเปิดใช้งานอยู่หรือไม่ คุณจะได้รับแจ้งจำนวนกระบวนการที่จะแสดง
เราพิมพ์ 10 แล้วกด Enter ดังนั้น 10 กระบวนการจึงปรากฏขึ้นในพื้นที่งาน
ปรับปรุงกระบวนการ
คุณสามารถกด “r” เพื่อเปลี่ยนค่า nice (ลำดับความสำคัญ) สำหรับกระบวนการ คุณจะได้รับพร้อมท์ให้ใส่ ID กระบวนการ เพียงกด Enter เพื่อใช้ ID กระบวนการของงานที่ด้านบนของหน้าต่างกระบวนการ เราพิมพ์ 7800 ซึ่งเป็น ID กระบวนการของอินสแตนซ์ของ Firefox
หลังจากที่คุณกด Enter คุณจะได้รับแจ้งให้ป้อนค่า nice ใหม่เพื่อใช้กับกระบวนการ เราพิมพ์ 15 แล้วกด Enter
ค่า nice ใหม่จะถูกนำไปใช้กับกระบวนการทันที
ที่เกี่ยวข้อง: วิธีตั้งค่าลำดับความสำคัญของกระบวนการด้วย nice และ renice บน Linux
ฆ่ากระบวนการ
กด “k” เพื่อฆ่ากระบวนการ จากนั้น คุณจะได้รับพร้อมท์ให้ป้อน ID กระบวนการที่คุณต้องการฆ่า ที่จริงแล้ว คุณสามารถส่งสัญญาณใดๆ ไปยังกระบวนการได้ เราจะฆ่ากระบวนการ 7879 ซึ่งหยุดตอบสนอง
คุณจะได้รับโอกาสในการพิมพ์สัญญาณที่คุณต้องการส่ง คุณสามารถระบุได้ด้วยชื่อหรือหมายเลข หากคุณเพียงแค่กด Enter top
จะส่งสัญญาณ SIGTERM
(ฆ่า)
ทันทีที่คุณกด Enter สัญญาณจะถูกส่งไปยังกระบวนการ
ที่เกี่ยวข้อง: วิธีฆ่ากระบวนการจาก Linux Terminal
การปรับแต่งจอแสดงผล
คุณยังสามารถปรับแต่งสีและคอลัมน์ที่จะแสดงได้อีกด้วย เราจะเปลี่ยนสีที่ใช้สำหรับข้อความแจ้ง ค่าเริ่มต้นคือสีแดง
กดตัวพิมพ์ใหญ่ Z เพื่อไปที่หน้าการตั้งค่าสี ส่วนบนของหน้าจอแสดงสีที่ใช้โดยองค์ประกอบการแสดงผลต่างๆ หากต้องการระบุว่าคุณต้องการเปลี่ยนองค์ประกอบการแสดงผลใด ให้กดรายการใดรายการหนึ่งต่อไปนี้ ซึ่งคำนึงถึงขนาดตัวพิมพ์:
- S : สรุปพื้นที่ข้อมูล
- M : ข้อความและข้อความแจ้ง
- H : ส่วนหัวของคอลัมน์
- T : ข้อมูลงานในรายการกระบวนการ
เรากด M เพื่อเปลี่ยนข้อความแจ้ง
หากต้องการเลือกสี ให้กดหมายเลขต่อไปนี้:
- 0: สีดำ.
- 1: สีแดง
- 2: สีเขียว
- 3: สีเหลือง
- 4: สีฟ้า
- 5: สีม่วงแดง
- 6: สีฟ้า.
- 7: สีขาว.
เรากด 6 เพื่อใช้สีฟ้า
กด Enter เพื่อบันทึกการตั้งค่าของคุณ ข้อความแจ้งสำหรับการป้อนข้อมูลจะเป็นสีที่คุณเลือก
นอกจากนี้เรายังสามารถเปลี่ยนคอลัมน์ที่แสดงในหน้าจอการจัดการฟิลด์ กด F เพื่อเข้าสู่หน้าจอการจัดการฟิลด์
ฟิลด์ที่แสดงมีเครื่องหมายดอกจัน ( *
) อยู่ข้างๆ และเน้นด้วยตัวหนา กดลูกศรขึ้นและลงเพื่อย้ายไฮไลท์ผ่านรายการช่อง
หากคุณย้ายไฮไลต์ออกจากด้านล่างสุดของคอลัมน์ ไฮไลต์นั้นจะปรากฏที่ด้านบนสุดของคอลัมน์ถัดไป (เว้นแต่คุณจะอยู่ด้านล่างสุดของคอลัมน์สุดท้าย) หากคุณย้ายออกจากด้านบนของคอลัมน์ คอลัมน์นั้นจะปรากฏที่ด้านล่างของคอลัมน์ก่อนหน้า (เว้นแต่คุณจะอยู่ที่ด้านบนสุดของคอลัมน์แรก)
เราย้ายไฮไลท์ไปที่รายการ COMMAND
แล้วกด “d” เพื่อลบเครื่องหมายดอกจัน ( *
) จากนั้นเราย้ายไปที่รายการ UID
และกด "d" เพื่อวางเครื่องหมายดอกจันถัดจากรายการนั้น ซึ่งหมายความว่าคอลัมน์ COMMAND
จะไม่แสดง แต่คอลัมน์ UID
จะแสดง
ในขณะที่ไฮไลต์อยู่บนคอลัมน์ UID
เรากด "s" เพื่อจัดเรียงรายการกระบวนการในคอลัมน์ UID
กด Enter เพื่อบันทึกการตั้งค่าของคุณ จากนั้นกด "q" เพื่อออกจากหน้าจอการจัดการฟิลด์
คอลัมน์ UID
ได้แทนที่คอลัมน์ COMMAND
และรายการกระบวนการจะถูกจัดเรียงตามคอลัมน์นั้น
โหมดการแสดงผลทางเลือก
วิธีนี้ใช้ได้ผลดีที่สุดในโหมดเต็มหน้าจอ กด A เพื่อแสดงสี่ส่วนในรายการกระบวนการ จากนั้นกด “a” เพื่อย้ายจากพื้นที่หนึ่งไปอีกพื้นที่หนึ่ง
แต่ละพื้นที่มีคอลเลกชั่นคอลัมน์ที่แตกต่างกัน แต่แต่ละส่วนก็สามารถปรับแต่งได้ผ่านหน้าจอการจัดการฟิลด์ ซึ่งจะช่วยให้คุณมีขอบเขตที่จะมีการแสดงผลแบบเต็มหน้าจอที่ปรับแต่งเองซึ่งแสดงข้อมูลที่แตกต่างกันในแต่ละพื้นที่ และความสามารถในการจัดเรียงแต่ละพื้นที่ตามคอลัมน์ที่แตกต่างกัน
การกดแป้นพิมพ์อื่นๆ
ต่อไปนี้คือคีย์อื่นๆ ที่คุณอาจพบว่ามีประโยชน์ที่ top
:
- W : บันทึกการตั้งค่าและการปรับแต่งของคุณ เพื่อให้ยังคงมีผลเมื่อคุณเริ่มที่
top
ในครั้งถัดไป - d : ตั้งค่าอัตราการรีเฟรชหน้าจอใหม่
- ช่องว่าง : บังคับ
top
เพื่อรีเฟรชการแสดงผลในขณะนี้
กล้วยยอดนิยม
อย่างที่เราได้เห็น top
มีละครค่อนข้างมาก โปรแกรมอื่นๆ เช่น htop
ได้รับแรงบันดาลใจจากโปรแกรมดังกล่าว แต่แต่ละโปรแกรมก็มีสิ่งที่แตกต่างกันไป
อย่างไรก็ตามมีการติดตั้ง top
ทุกที่ เมื่อคุณไปที่ธุรกิจเพื่อดูเครือข่ายหรือเซิร์ฟเวอร์ คุณมักจะได้รับแจ้งว่าไม่สามารถเปลี่ยนแปลงสิ่งใดบนเซิร์ฟเวอร์จริงได้ ไคลเอนต์สร้างกฎ ดังนั้นคุณต้องใช้สิ่งที่ติดตั้งไว้แล้ว
แม้ว่าคุณจะชอบเครื่องมือตรวจสอบอื่น คุณก็ควรทำความรู้จัก top
ไม่ช้าก็เร็ว คุณอาจจะพบว่าตัวเองอยู่ในสถานการณ์ที่ทุกอย่างเข้าถึงได้
คำสั่งลินุกซ์ | ||
ไฟล์ | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · เข้าร่วม · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · ดู · strings · พิมพ์ · เปลี่ยนชื่อ · zip · unzip · เมานต์ · umount · ติดตั้ง · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · แพทช์ · แปลง · rclone · ฉีก · srm | |
กระบวนการ | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · หมดเวลา · ผนัง · ใช่ · ฆ่า · หลับ · sudo · su · เวลา · groupadd · usermod · กลุ่ม · lshw · ปิดระบบ · รีบูต · หยุด · poweroff · passwd · lscpu · crontab · วันที่ · bg · fg | |
ระบบเครือข่าย | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
ที่เกี่ยวข้อง: แล็ปท็อป Linux ที่ดีที่สุดสำหรับนักพัฒนาและผู้ที่ชื่นชอบ