คำสั่ง vmstat ใน Linux

Kha Sang Vmstat Ni Linux



vmstat ซึ่งเป็นรูปแบบย่อที่ใช้สำหรับ “ สถิติหน่วยความจำเสมือน ” เป็นเครื่องมือในตัวที่เชื่อถือได้และทรงพลังใน Linux ซึ่งใช้ในการให้ข้อมูลเชิงลึกโดยละเอียดเกี่ยวกับประสิทธิภาพของระบบ เนื่องจากฟังก์ชันการทำงานที่หลากหลายจึงสามารถระบุได้ว่าเป็น “ ผู้รายงานสถิติหน่วยความจำเสมือน '.

โพสต์นี้ประกอบด้วยภาพรวมโดยละเอียดของคำสั่ง 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 โดยการทำความเข้าใจไวยากรณ์ การดำเนินการพื้นฐาน และแอปพลิเคชันที่ใช้งานได้จริง