โพสต์นี้ประกอบด้วยภาพรวมโดยละเอียดของคำสั่ง vmstat ไวยากรณ์ ตัวเลือก และการใช้งานจริง
คำสั่ง vmstat
คำสั่ง vmstat ทำหน้าที่เป็นเครื่องมือตรวจสอบประสิทธิภาพที่มีประสิทธิภาพใน Linux โดยนำเสนอข้อมูลเกี่ยวกับการใช้หน่วยความจำ กระบวนการของระบบ บล็อก IO การเพจ กิจกรรมของดิสก์ และการกำหนดเวลา CPU ผู้ใช้สามารถระบุระยะเวลาการสุ่มตัวอย่างเพื่อบันทึกกิจกรรมแบบเรียลไทม์ ทำให้เป็นเครื่องมือที่จำเป็นสำหรับประสิทธิภาพและการวินิจฉัยปัญหาที่เป็นไปได้
การติดตั้ง (หากไม่ได้ติดตั้งไว้ล่วงหน้า)
ก่อนที่จะใช้ vmstat ตรวจสอบให้แน่ใจว่า ระบบ แพ็คเกจถูกติดตั้งในสภาพแวดล้อม Linux ตรวจสอบให้แน่ใจว่าใช้ตัวจัดการแพ็คเกจที่เหมาะสมตามการแจกจ่าย Linux:
จะติดตั้งคำสั่ง “sysstat” ใน Ubuntu/Debian ได้อย่างไร?
หากต้องการติดตั้งคำสั่ง “sysstat” บน Ubuntu หรือระบบปฏิบัติการที่ใช้ Debian ให้ดำเนินการคำสั่งที่พิมพ์ด้านล่าง:
ซูโดะ ฉลาด ติดตั้ง ระบบ
จะติดตั้งคำสั่ง “sysstat” ใน Fedora/CentOS/RHEL ได้อย่างไร
หากต้องการติดตั้งคำสั่ง “sysstat” บนระบบปฏิบัติการ Fedora/CentOS หรือ RHEL ให้ดำเนินการคำสั่งที่พิมพ์ด้านล่าง:
ซูโดะ ติดตั้งยำ ระบบ
จะติดตั้งคำสั่ง “sysstat” ใน Arch Linux ได้อย่างไร?
หากต้องการติดตั้งคำสั่ง “sysstat” บนระบบปฏิบัติการที่ใช้ Arch Linux ให้ดำเนินการคำสั่งที่พิมพ์ด้านล่าง:
ซูโดะ แพ็กแมน -ส ระบบ
เมื่อติดตั้งในระบบปฏิบัติการที่คุณต้องการแล้ว มาดูการใช้งานและทำความเข้าใจกันดีกว่า
ไวยากรณ์
ไวยากรณ์พื้นฐานสำหรับคำสั่ง vmstat เป็นดังนี้:
vmstat [ ตัวเลือก ] [ ล่าช้า [ นับ ] ]ในไวยากรณ์คำสั่ง vmstat ข้างต้น:
ตัวเลือก: ธงที่ใช้สำหรับเอาต์พุตแบบกำหนดเอง
ล่าช้า: นี่คือช่วงเวลาระหว่างการอัปเดต/รายงานสองครั้ง ในกรณีที่ไม่ได้ระบุค่าความล่าช้า จะมีการพิมพ์รายงานระยะเวลาการสุ่มตัวอย่างเพียงรายงานเดียวโดยมีค่าเฉลี่ยนับตั้งแต่บูต
นับ: สิ่งนี้กล่าวถึงจำนวนการอัปเดต/รายงานที่จำเป็นหลังจากค่าการหน่วงเวลาที่ระบุ หากระบุการหน่วงเวลาและไม่มีการนับ การนับจะมีค่าอนันต์เป็นค่าเริ่มต้น
เอาล่ะ เราจะเจาะลึกถึงความเข้าใจและการใช้ประโยชน์จากตัวเลือกที่มีให้ในคำสั่ง vmstat นอกจากนี้เรายังจะอภิปรายว่าการใช้ความล่าช้าและการนับสามารถช่วยเราได้ผลลัพธ์ที่ต้องการอย่างไร
อย่างไรก็ตาม ก่อนอื่น เรามาเริ่มต้นด้วยการทำความเข้าใจเอาต์พุตพื้นฐานของคำสั่ง “vmstat” กันก่อน
ความเข้าใจพื้นฐานของคำสั่ง vmstat
มารันคำสั่ง vmstat โดยไม่มีตัวเลือกใด ๆ และหน่วงเวลาและวิเคราะห์ผลลัพธ์
vmstat
ส่วน ฟิลด์ และค่าทั้งหมดจะอธิบายไว้ด้านล่าง:
กระบวนการ: สถิติกระบวนการ
ร: กระบวนการทำงาน/ใช้งานอยู่
ข: กระบวนการที่ถูกบล็อก/สลีปกำลังรอการดำเนินการ I/O
หน่วยความจำ: สถิติหน่วยความจำ (เป็น KB)
สลับ: หน่วยความจำเสมือนที่ใช้แล้ว
ฟรี: หน่วยความจำฟรี
หนัง: หน่วยความจำบัฟเฟอร์
แคช: ข้อมูลที่ถูกเก็บไว้
แลกเปลี่ยน: สลับสถิติพื้นที่ (เป็น KB/s)
ใช่: การสลับหน่วยความจำเข้า
ดังนั้น: หน่วยความจำสลับออก
นี้: สถิติ I/O(เป็นบล็อก/วินาที)
กับ: ได้รับบล็อคแล้ว
เป็น: ส่งบล๊อกแล้ว
ระบบ: สถิติการตั้งเวลา(ต่อวินาที)
ใน: ระบบขัดจังหวะ
ซีเอส: สวิตช์บริบท
ซีพียู: เวลา CPU (เป็นเปอร์เซ็นต์)
เรา: เวลาที่ใช้ในรหัสผู้ใช้
และ: เวลาที่ใช้ในระบบ/โค้ด kernal
รหัส: เวลาว่าง
ของ: เวลาที่ใช้ในการรอ I/O
เซนต์: เวลาที่ขโมยไปโดย Virtualized Environments
แหล่งที่ดีที่สุดในการทำความเข้าใจผลลัพธ์ของ vmstat command คือ man page ของ vmstat ซึ่งให้ข้อมูลโดยละเอียดและกระชับเกี่ยวกับเอาต์พุตที่แสดง
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ vmstat คำสั่ง, ดำเนินการคำสั่ง:
ผู้ชาย vmstatจะแสดงคู่มือการใช้งานของ vmstat สั่งการ.
ตัวอย่างเช่น หากต้องการทราบคำอธิบายของคำสั่งที่ดำเนินการข้างต้น อ่านส่วนต่อไปนี้ของหน้าคน
เอาล่ะ ตอนนี้เรามาเจาะลึกความเข้าใจเกี่ยวกับตัวเลือกต่างๆ ที่มีอยู่และมีข้อมูลเชิงลึกเกี่ยวกับผลลัพธ์ของแต่ละตัวเลือกกัน
ตัวเลือกของคำสั่ง vmstat
มีตัวเลือกที่แตกต่างกันสำหรับการดึงข้อมูลสถิติประเภทต่างๆ ตัวเลือกที่ใช้กันอย่างแพร่หลายบางส่วนมีการอธิบายพร้อมการสาธิตด้านล่าง
สถิติหน่วยความจำและกระบวนการ
ต่อไปนี้เป็นคำสั่งที่ถูกจัดหมวดหมู่และใช้เพื่อรับหน่วยความจำและสถิติกระบวนการ
จะแสดงหน่วยความจำที่ใช้งานและไม่ใช้งานโดยใช้ vmstat ได้อย่างไร
หากต้องการรับสถิติหน่วยความจำในรูปแบบของการใช้งานที่ใช้งานอยู่และไม่ได้ใช้งาน (แทนการใช้บัฟเฟอร์และแคช) จะใช้ตัวเลือก '-a'
vmstat -ก
จะแสดงจำนวนส้อมโดยใช้ vmstat ได้อย่างไร?
หากต้องการทราบจำนวนส้อมเป็นไบต์ ให้ใช้ตัวเลือก '-f'
vmstat -ฉจะแสดงสถิติแผ่นพื้นโดยใช้ vmstat ได้อย่างไร
หากต้องการแสดงสถิติแผ่นพื้น ให้ใช้ตัวเลือก '-m'
ซูโดะ vmstat -ม
หลังจากรันโปรแกรมนี้จะมี 5 คอลัมน์:
- แคช : ชื่อของไฟล์ข้อมูลที่แคชไว้
- หนึ่ง : หมายเลขอ็อบเจ็กต์ที่ใช้งานอยู่ในแคช
- ทั้งหมด : วัตถุทั้งหมดในแคช
- ขนาด : พื้นที่ที่แต่ละวัตถุใช้ในแคช
- หน้า : จำนวนหน้าหน่วยความจำที่เก็บรายการที่เก็บไว้
จะแสดงส่วนหัวโดยใช้ vmstat ได้อย่างไร?
หากต้องการแสดงส่วนหัวเพียงครั้งเดียว จะใช้ตัวเลือก '-n'
vmstat -n
เห็นได้ชัดในเอาต์พุตคำสั่งข้างต้นว่ามีการเพิ่มส่วนหัวที่ด้านบนสุดสำหรับคอลัมน์ซึ่งรวมถึง procs, memory, swap, io, system และ CPU
จะแสดงตารางตัวนับเหตุการณ์หลายตัวโดยใช้ vmstat ได้อย่างไร
ในการตั้งเวลา CPU และสถิติหน่วยความจำ ให้ใช้ตัวเลือก “-s”:
vmstat -ส
เอาต์พุตจะเหมือนกับคำสั่ง vmstat พื้นฐาน ยกเว้นการแยกเวลา CPU ที่ดีและไม่ดี
รายงานข้างต้นสามารถแบ่งออกเป็นสี่ส่วน:
1. การใช้หน่วยความจำ
- หน่วยความจำที่มีอยู่ทั้งหมด
- ขณะนี้อยู่ในหน่วยความจำการใช้งาน
- หน่วยความจำที่ใช้งานอยู่
- หน่วยความจำที่ไม่ได้ใช้งาน
- หน่วยความจำฟรี
- หน่วยความจำบัฟเฟอร์
- ข้อมูลที่ถูกเก็บไว้
- สลับข้อมูลหน่วยความจำ
2. สถิติซีพียู:
- การใช้งานสำหรับกระบวนการที่มีลำดับความสำคัญสูง (เครื่องหมาย CPU ที่ไม่ดี)
- การใช้งานสำหรับกระบวนการที่มีลำดับความสำคัญต่ำ (เครื่องหมาย Nice CPU)
- การใช้งานสำหรับกระบวนการเคอร์เนล (ทำเครื่องหมาย CPU ระบบ)
- เวลา CPU ที่ไม่ได้ใช้งาน (ทำเครื่องหมาย CPU ที่ไม่ได้ใช้งาน
- การใช้งาน CPU สำหรับการดำเนินการอินพุต/เอาท์พุต (IO-wait)
- การขัดจังหวะที่ได้รับจาก CPU (IRQ)
- ซอฟต์แวร์ขัดจังหวะ (softirq)
- เวลา CPU ที่ถูกขโมยโดยเครื่องเสมือน (เห็บ CPU ที่ถูกขโมย)
3. เพจหน่วยความจำ
- เพจที่นำเข้ามา.
- เพจที่ส่งออกไปยังหน่วยความจำเสมือน
- เพจอ่านจากหน่วยความจำสลับ
- หน้าที่เขียน
4. ตัวนับกิจกรรม
- การขัดจังหวะตั้งแต่เวลาบูต
- จำนวนสวิตช์บริบทที่ดำเนินการ
- การประทับเวลาของเวลาบูตครั้งล่าสุด
- จำนวนส้อมทั้งหมด
จะแสดงสถิติดิสก์โดยใช้ vmstat ได้อย่างไร
หากต้องการแสดงสถิติดิสก์ ให้ใช้ตัวเลือก '-d'
vmstat -d
คำอธิบายแต่ละส่วน/คอลัมน์มีดังนี้
1. การอ่าน
- รวม: เวลาที่ใช้ในการอ่านจากดิสก์
- รวมแล้ว: จำนวนการอ่านที่จัดกลุ่ม
- Sectors: จำนวนเซกเตอร์ทั้งหมดที่มีการอ่านข้อมูล
- มิลลิวินาที: ความเร็วในการวัดสำหรับกระบวนการอ่านข้อมูล
2. เขียน
- ทั้งหมด: จำนวนครั้งทั้งหมดที่มีการเขียนข้อมูลลงดิสก์
- รวมแล้ว: จำนวนการเขียนที่จัดกลุ่ม
- ภาคส่วน จำนวนภาคทั้งหมดที่มีการเขียนข้อมูล
- มิลลิวินาที: ความเร็วในการวัดสำหรับกระบวนการเขียนข้อมูล
3. IO (อินพุต/เอาต์พุต)
- ปัจจุบัน: จำนวนการอ่านหรือเขียนที่อยู่ระหว่างดำเนินการ
- วินาที: เวลาที่ใช้ในการประมวลผลใด ๆ ที่จะอ่านหรือเขียนโดยวัดเป็นวินาที
ตัวเลือกรอง
ต่อไปนี้เป็นตัวเลือกที่จัดหมวดหมู่เป็นตัวเลือกรอง และใช้สำหรับดึงรายละเอียดประเภทต่างๆ ที่เกี่ยวข้องกับหน่วยความจำเสมือน
วิธีรับรายงานกิจกรรมดิสก์โดยใช้ vmstat
หากต้องการรับรายงานกิจกรรมดิสก์โดยละเอียด จะใช้ตัวเลือก '-D'
vmstat -D
วิธีรับสถิติพาร์ติชันโดยใช้ vmstat
หากต้องการดูสถิติพาร์ติชันโดยละเอียด จะใช้ตัวเลือก '-p'
vmstat -พี sda1คำสั่งนี้รันเฉพาะกับพารามิเตอร์เพิ่มเติมที่ต้องการชื่อพาร์ติชันและเราต้องการทราบสถิติด้วย
จะเพิ่มการประทับเวลาลงในรายงาน vmstat ได้อย่างไร
หากต้องการเพิ่มการประทับเวลาลงในรายงาน จะใช้ตัวเลือก '-t'
vmstat -t
จะแสดงข้อมูลเวอร์ชันโดยใช้ vmstat ได้อย่างไร?
หากต้องการแสดงข้อมูลเวอร์ชัน จะใช้ตัวเลือก “-V”
vmstat -ใน
จะแสดงวิธีใช้คำสั่ง vmstat ได้อย่างไร?
หากต้องการแสดงตัวเลือกทั้งหมดที่มีอยู่ในเมนูวิธีใช้ของคำสั่ง vmstat จะใช้ตัวเลือก '-h'
vmstat -ชม
หลังจากค้นพบตัวเลือกทั้งหมดที่มีอยู่ใน vmstat แล้ว ก็ถึงเวลาสำรวจความล่าช้าและนับค่าในคำสั่ง vmstat
จะตั้งค่าความล่าช้าระหว่างการอัปเดตรายงาน vmstat ได้อย่างไร
หากต้องการตั้งค่าการหน่วงเวลาระหว่างการอัพเดตเอาต์พุตแต่ละครั้ง เพียงระบุค่าการหน่วงเวลาเป็นวินาทีหลังจากคำสั่ง “vmstat” ดังที่แสดงด้านล่าง:
vmstat [ ค่าความล่าช้า ]
ในภาพหน้าจอด้านบน รายงานจะได้รับการอัปเดตทุกๆ 2 วินาที โดยจะสร้างรายงานต่อไปทุกๆ 2 วินาทีจนกว่าจะหยุดด้วยตนเองโดยใช้ CTRL+C อย่างไรก็ตาม คำสั่ง 'vmstat' จะแสดงเฉพาะบนเอาต์พุต (โดยเฉลี่ยตั้งแต่รีบูต) หากไม่มีการกำหนดค่าการหน่วงเวลา
จะใช้ค่าการนับโดยมีความล่าช้าในคำสั่ง vmstat ได้อย่างไร
หากต้องการหยุดการสร้างรายงานหลังจากรายงานจำนวนหนึ่ง ให้ระบุค่าการนับหลังค่าความล่าช้า ดังที่แสดงด้านล่าง:
vmstat [ ล่าช้า ] [ นับ ]
ผลลัพธ์จะแสดงเพียง 3 ครั้งตามที่กล่าวไว้
จะเปลี่ยนหน่วยของเอาต์พุตในคำสั่ง vmstat ได้อย่างไร?
หน่วยเริ่มต้นที่แสดงในเอาต์พุตอยู่ในหน่วย KB เราสามารถเปลี่ยนได้เช่นกันโดยกล่าวถึงหน่วยเพิ่มเติมตามด้วยตัวเลือก '-S'
หากต้องการกล่าวถึงหน่วย ให้ปฏิบัติตามเงื่อนไข:
k: 1,000 ไบต์ (ไบต์ทศนิยม)
K: 1,024 ไบต์ (ไบต์ฐานสิบหก)
m: 1,000 KBs (ไบต์ทศนิยม)
M: 1,024 KBs (ไบต์ฐานสิบหก)
หากต้องการแสดงเอาต์พุตเป็นเมกะไบต์ ให้ดำเนินการคำสั่ง:
vmstat 3 4 -ส ม
เอาต์พุตจะแสดง 4 ครั้งโดยมีความล่าช้า 3 วินาทีในหน่วยเมกะไบต์
ทั้งหมดนี้มาจากคำสั่ง vmstat และตัวเลือก บทความนี้จะให้ภาพรวมโดยละเอียดของคำสั่ง vmstat ใน Linux
บทสรุป
คำสั่ง vmstat ถูกใช้เพื่อให้ข้อมูลเชิงลึกแบบเรียลไทม์เกี่ยวกับพารามิเตอร์ต่างๆ ของระบบ ทำให้เป็นทรัพยากรที่สำคัญสำหรับการแก้ไขปัญหาและการเพิ่มประสิทธิภาพระบบ ผู้ใช้สามารถใช้ฟังก์ชันของ vmstat เพื่อให้มั่นใจถึงประสิทธิภาพสูงสุดในสภาพแวดล้อม Linux โดยการทำความเข้าใจไวยากรณ์ การดำเนินการพื้นฐาน และแอปพลิเคชันที่ใช้งานได้จริง