ไดเรกทอรีบทความ
เมื่อเราเรียนรู้การใช้งานลินุกซ์ เซิร์ฟเวอร์ VPS ถึง站หลังจากนั้น จำเป็นต้องเข้าใจความหมายของค่าเฉลี่ยโหลดของค่าเฉลี่ยโหลดต่างๆ เพราะเราจำเป็นต้องใช้top
คำสั่งเข้าใจสถานะความสมบูรณ์ของระบบและให้ความสนใจกับการเปลี่ยนแปลงแบบเรียลไทม์ของตัวแปร
เพื่อให้เข้าใจสิ่งนี้ จำเป็นต้องเข้าใจคำอธิบายตัวแปรต่อไปนี้
คำอธิบายโดยละเอียดของค่าเฉลี่ยการโหลดคำสั่งสูงสุด
นี่คือคำแนะนำโดยละเอียดเกี่ยวกับวิธีการใช้งาน ▼
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 191272k total, 173656k used, 17616k free, 22052k buffers Swap: 192772k total, 0k used, 192772k free, 123988k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd 14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top 1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init 2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
- 5 บรรทัดแรกของพื้นที่สถิติคือสถิติของทั้งระบบ
- บรรทัดที่ 1 คือข้อมูลคิวงานด้วย
uptime
ผลการดำเนินการของคำสั่งเหมือนกัน
เนื้อหามีดังนี้:
- 01:06:48 เวลาปัจจุบัน
- ขึ้น 1:22 เวลาทำงานของระบบในรูปแบบชั่วโมง:นาที
- 1 ผู้ใช้ จำนวนผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน
- โหลดเฉลี่ย: 0.06, 0.60, 0.48 โหลดระบบ ซึ่งเป็นความยาวเฉลี่ยของคิวงาน
- ค่าทั้งสามคือค่าเฉลี่ยตั้งแต่ 3 นาที 1 นาทีและ 5 นาทีที่แล้วจนถึงปัจจุบัน
- บรรทัดที่ 2 และ 3 เป็นข้อมูลกระบวนการและ CPU
เมื่อมี CPU หลายตัว เนื้อหานี้อาจเกิน 2 บรรทัดเนื้อหามีดังนี้:
- งาน: 29 จำนวนกระบวนการทั้งหมด
- 1 รัน จำนวนกระบวนการที่ทำงานอยู่
- 28 sleep จำนวนกระบวนการที่กำลังหลับ
- 0 หยุด จำนวนของกระบวนการที่หยุด
- 0 ซอมบี้จำนวนกระบวนการซอมบี้
- Cpu(s): 0.3% us เปอร์เซ็นต์ของ CPU ที่ครอบครองโดยพื้นที่ผู้ใช้
- 1.0% sy เปอร์เซ็นต์ของ CPU ที่ครอบครองโดยพื้นที่เคอร์เนล
- 0.0% ni เปอร์เซ็นต์ของ CPU ที่ถูกครอบครองโดยกระบวนการที่ลำดับความสำคัญเปลี่ยนไปในพื้นที่กระบวนการของผู้ใช้
- เปอร์เซ็นต์ CPU ที่ไม่ได้ใช้งาน 98.7%
- 0.0% wa เปอร์เซ็นต์ของเวลา CPU ที่รออินพุตและเอาต์พุต
- 0.0% สวัสดี
- 0.0% ซิ
ต่อไปนี้เป็นข้อมูลหน่วยความจำสองบรรทัดสุดท้าย:
- หน่วยความจำ: หน่วยความจำกายภาพทั้งหมด 191272k
- 173656k ใช้หน่วยความจำกายภาพทั้งหมดที่ใช้ไป
- หน่วยความจำว่างทั้งหมดฟรี 17616k
- บัฟเฟอร์ 22052k จำนวนหน่วยความจำที่ใช้เป็นเคอร์เนลแคช
- สวอป: พื้นที่สวอปทั้งหมด 192772k
- ใช้พื้นที่สวอปทั้งหมดที่ใช้ไป 0k
- 192772k ฟรี พื้นที่สวอปฟรีทั้งหมด
- พื้นที่สลับบัฟเฟอร์แคชทั้งหมด 123988k
เนื้อหาของหน่วยความจำจะถูกสลับออกไปยังพื้นที่สว็อป จากนั้นจึงกลับเข้าสู่หน่วยความจำ แต่พื้นที่สว็อปที่ใช้ไม่ได้ถูกเขียนทับ
ค่านี้คือขนาดของพื้นที่สลับที่มีเนื้อหาอยู่แล้วในหน่วยความจำ
เมื่อหน่วยความจำที่เกี่ยวข้องถูกสลับอีกครั้ง ไม่จำเป็นต้องเขียนไปยังพื้นที่สลับอีกต่อไป
ข้อมูลโดยละเอียดเกี่ยวกับกระบวนการ ซึ่งแสดงอยู่ใต้พื้นที่สถิติในแต่ละพื้นที่ข้อมูลกระบวนการ
ก่อนอื่น มาทำความเข้าใจความหมายของแต่ละคอลัมน์กันก่อน
ความหมายของชื่อคอลัมน์
- รหัสกระบวนการ PID
- รหัสกระบวนการหลัก PPID
- RUSER ชื่อผู้ใช้จริง
- UID ID ผู้ใช้ของเจ้าของกระบวนการ
- ชื่อผู้ใช้ USER ของเจ้าของกระบวนการ
- GROUP ชื่อกลุ่มของเจ้าของกระบวนการ
- TTY ชื่อของเทอร์มินัลที่เริ่มกระบวนการกระบวนการที่ไม่ได้เริ่มต้นจากเทอร์มินัลจะแสดงเป็น ?
- ลำดับความสำคัญในการประชาสัมพันธ์
- NI คุ้มค่าค่าลบระบุลำดับความสำคัญสูง ค่าบวกระบุลำดับความสำคัญต่ำ
- P CPU ตัวสุดท้ายที่ใช้ มีความหมายเฉพาะในสภาพแวดล้อมแบบ multi-CPU
- %CPU เปอร์เซ็นต์ของเวลา CPU ที่ใช้ตั้งแต่การอัพเดตครั้งล่าสุด
- TIME เวลา CPU ทั้งหมดที่ใช้โดยกระบวนการ หน่วยเป็นวินาที
- TIME+ เวลา CPU ทั้งหมดที่ใช้โดยกระบวนการ ใน 1/100 วินาที
- %MEM เปอร์เซ็นต์ของหน่วยความจำกายภาพที่ใช้โดยกระบวนการ
- จำนวนหน่วยความจำเสมือนทั้งหมดที่ใช้โดยกระบวนการ VIRT ในหน่วย kb VIRT=SWAP+RES
- ขนาดของหน่วยความจำเสมือนที่ใช้โดยกระบวนการ SWAP ที่จะสลับออก หน่วยเป็น kb
- ขนาดของหน่วยความจำกายภาพที่ใช้โดยกระบวนการ RES และไม่มีการสลับออกเป็น kb RES=CODE+DATA
- CODE ขนาดของหน่วยความจำกายภาพที่ถูกครอบครองโดยโค้ดเรียกทำงาน ในหน่วย kb
- DATA ขนาดของหน่วยความจำกายภาพที่ถูกครอบครองโดยส่วนอื่นที่ไม่ใช่โค้ดปฏิบัติการ (กลุ่มข้อมูล + สแต็ก) ในหน่วย kb
- ขนาดหน่วยความจำที่แชร์ SHR ในหน่วย kb
- ความผิดพลาดของหน้า nFLT
- จำนวนหน้าที่แก้ไขตั้งแต่การเขียน nDRT ครั้งล่าสุด
- สถานะกระบวนการ S
- D = สถานะการนอนหลับต่อเนื่อง
- R = วิ่ง
- S = นอน
- T=ติดตาม/หยุด
- Z = กระบวนการซอมบี้
- COMMAND ชื่อคำสั่ง/บรรทัดคำสั่ง
- WCHAN หากกระบวนการอยู่ในโหมดสลีป ให้แสดงชื่อฟังก์ชันระบบสลีป
- แฟล็กงานแฟล็ก อ้างถึง sched.h
linux โหลดคำแนะนำการดีบักโดยเฉลี่ย
มองไปที่top
หลังจากสถานะที่แสดงโดยคำสั่ง จะต้องมีการปรับให้เหมาะสมตามนั้น แต่top
คำสั่งแสดงแค่รูปลักษณ์เท่านั้นจึงผ่านได้iostat
หรือvmstat
สั่งซื้อข้อสังเกตเพิ่มเติม
vmstat เพื่อดูการโหลดระบบ
vmstat procs -------memory-------- ----swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 100152 2436 97200 289740 0 1 34 45 99 33 0 0 99 0
โพรเทคส์
- คอลัมน์ r แสดงจำนวนกระบวนการที่ทำงานและรอการแบ่งเวลาของ CPU หากมากกว่า 1 เป็นเวลานาน แสดงว่า CPU ไม่เพียงพอและต้องเพิ่ม CPU
- คอลัมน์ b ระบุจำนวนกระบวนการที่รอทรัพยากร เช่น การรอ I/O หรือการสลับหน่วยความจำ เป็นต้น
cpu แสดงสถานะการใช้งานของ cpu
- คอลัมน์ us แสดงเปอร์เซ็นต์ของเวลา CPU ที่ใช้ในโหมดผู้ใช้ เมื่อค่าของเราค่อนข้างสูง แสดงว่ากระบวนการของผู้ใช้กินเวลา CPU มาก แต่ถ้ามากกว่า 50% เป็นเวลานาน จำเป็นต้องพิจารณาปรับโปรแกรมผู้ใช้ให้เหมาะสม
- คอลัมน์ sy แสดงเปอร์เซ็นต์ของเวลา CPU ที่ใช้โดยกระบวนการเคอร์เนลในที่นี้ ค่าอ้างอิง us + sy คือ 80% หาก us + sy มากกว่า 80% แสดงว่าอาจมี CPU ไม่เพียงพอ
- คอลัมน์ wa แสดงเปอร์เซ็นต์ของเวลา CPU ที่ใช้โดย IO รอ
- ค่าอ้างอิงของ wa ที่นี่คือ 30% หาก wa เกิน 30% แสดงว่าการรอ IO นั้นร้ายแรง ซึ่งอาจเกิดจากการสุ่มเข้าถึงดิสก์จำนวนมาก หรือคอขวดแบนด์วิดท์ของดิสก์หรือการเข้าถึงดิสก์ ตัวควบคุม (ส่วนใหญ่บล็อกการทำงาน)
- คอลัมน์ id แสดงเปอร์เซ็นต์ของเวลาที่ cpu ไม่ได้ใช้งาน
บทความต่อไปนี้จะอธิบายว่า Linux Load Average สูงแค่ไหน?
ฉันควรทำอย่างไรหากโหลด VPS สูงเกินไป
ตอนนี้เว็บไซต์ของฉันไม่สามารถเข้าถึงได้เนื่องจากโหลดสูงเกินไป ฉันควรทำอย่างไร?
สูงสุด – 20:44:30 อัพ 12 นาที 1 ผู้ใช้ โหลดเฉลี่ย: 2.21, 8.39, 6.48
- เซิร์ฟเวอร์ของคุณเป็นแบบจัดการตัวเอง สิ่งที่คุณควรทำคือตรวจสอบเซิร์ฟเวอร์ของคุณผ่าน SSH
- ตรวจสอบสิ่งที่ทำงาน?กระบวนการอะไร?
- หากจำเป็น ให้ลองรีสตาร์ทเซิร์ฟเวอร์
- หากหลังจากรีสตาร์ทเซิร์ฟเวอร์แล้ว โหลดยังคงสูงเกินไป ให้ลองระบุกระบวนการโอเวอร์โหลดและหยุดการทำงาน
- หากจำเป็น ให้เริ่มกระบวนการใหม่ (ไม่ใช่เซิร์ฟเวอร์) ทีละรายการ
- หรือหลังจากปรึกษาฝ่ายบริการลูกค้าแล้ว "ทำไม VPS/เซิร์ฟเวอร์โหลดสูงเกินไป" ก็ยังไม่มีวิธีที่จะทำ และสุดท้ายวิธีเดียวคือเพิ่มการกำหนดค่าเซิร์ฟเวอร์
พื้นที่เท่าไหร่จึงจะเหมาะกับเว็บไซต์ของบริษัทการค้าต่างประเทศ?
วิธีการเลือกการกำหนดค่าเซิร์ฟเวอร์ที่เหมาะสม?คลิกลิงก์ด้านล่างเพื่อดูโซลูชันเซิร์ฟเวอร์ 1 IP เฉลี่ยรายวัน ▼
หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แชร์ "โหลดเซิร์ฟเวอร์? คำสั่งบนสุด / การใช้ซีพียู / วิธีการคำนวณค่าเฉลี่ยโหลด" มันจะช่วยคุณได้
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-1029.html
ยินดีต้อนรับสู่ช่อง Telegram ของบล็อกของ Chen Weiliang เพื่อรับข่าวสารล่าสุด!
📚 คู่มือนี้มีคุณค่ามหาศาล 🌟 นี่เป็นโอกาสที่หายาก อย่าพลาด! ⏰⌛💨
แชร์และชอบถ้าคุณชอบ!
การแบ่งปันและไลค์ของคุณเป็นแรงจูงใจอย่างต่อเนื่องของเรา!