วิธีการตรวจสอบ CPU และหน่วยความจำบน Linux

รู้ว่าแต่ละกระบวนการหรือทั้งระบบใช้ CPU หรือหน่วยความจำเท่าใด.


ในฐานะผู้ดูแลระบบคุณมักจะต้องจัดการกับเหตุการณ์ที่แอปพลิเคชันทำงานช้าหรือไม่ตอบสนองเนื่องจากการใช้งาน CPU / หน่วยความจำ / เครือข่ายสูง หากโฮสต์เซิร์ฟเวอร์เพียงหนึ่งกระบวนการดังนั้นจึงง่ายต่อการค้นหาเมื่อกระบวนการใช้ทรัพยากรทั้งหมด อย่างไรก็ตามลองนึกภาพเซิร์ฟเวอร์ที่ใช้ร่วมกันที่มีบริการหลายอย่างกำลังทำงานอยู่และคุณต้องค้นหาว่าเซิร์ฟเวอร์ใดกำลังใช้ทรัพยากรทั้งหมดอยู่.

มีซอฟต์แวร์ตรวจสอบจำนวนมากที่ทำสิ่งนี้นอกกรอบ แต่ถ้าคุณไม่มีวิธีหนึ่งหรือมองหาวิธีแก้ปัญหาตามคำสั่ง พวกเขาทั้งหมดฟรี!

ด้านบน

คุณอาจต้องการเริ่มต้นโดยดูที่ด้านบนหรือผลลัพธ์ htop เพื่อดูภาพรวมของกระบวนการ.

ดังที่คุณเห็นด้านล่างมันให้ความคิดที่ยอดเยี่ยมเกี่ยวกับกระบวนการทั้งหมดที่ใช้ ถ้าคุณดูอันแรกซึ่ง nodejs ใช้หน่วยความจำ 3.9% และ CPU 0.3%.

ติดตั้งบนการกระจาย Linux เกือบทั้งหมด.

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

สมมติว่าคุณรู้รหัสกระบวนการ (PID) คุณสามารถใช้คำสั่งด้านล่าง.

-p $ PID

คุณอาจใช้ grep กับด้านบน ด้านล่างตัวอย่างของการตรวจสอบการใช้งาน Rabbitmq.

htop

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

htop อาจไม่ได้รับการติดตั้งตามค่าเริ่มต้น แต่คุณสามารถทำได้โดยติดตั้ง apt-get htop หากใช้ Ubuntu.

สายตา

ดังที่ชื่อแจ้งไว้คุณจะได้รับมุมมองการใช้ระบบบนหน้าจอเดียว กระบวนการที่กำลังทำงานอยู่จะถูกเรียงลำดับตามการใช้งาน CPU.

บนยอด

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

ในการบันทึกผลลัพธ์ในไฟล์:

บนชื่อไฟล์ -w

และเพื่อเล่น:

บนชื่อไฟล์ -r

มันสนับสนุนการขัดแย้งหลายอย่างเช่นช่วงเวลาตัวอย่างและอื่น ๆ และฉันขอแนะนำอย่างยิ่งให้ดูที่หน้า man.

หากคุณมีความสนใจในการแก้ไขปัญหาแบบเรียลไทม์จากนั้นก็ดำเนินการบนและคุณควรจะเห็นด้านล่าง.

PS

มาดูคำสั่ง ps ตอนนี้.

คุณสามารถใช้คำสั่ง ps กับ PID เพื่อพิมพ์การใช้งาน CPU และหน่วยความจำ.

ps -p $ PID -o% cpu,% mem

ผลลัพธ์ควรมีลักษณะเช่นนี้.

[email protected]: ~ # ps -p 1048 -o% cpu,% mem
% CPU% MEM
0.2 3.0
[email protected]: ~ #

NMON

เครื่องมือตรวจสอบบรรทัดคำสั่งแบบโต้ตอบสำหรับ CPU หน่วยความจำดิสก์เครือข่าย NFS และการใช้งานหน่วยความจำเสมือน หากต้องการดูกระบวนการสูงสุด (ตามการใช้งาน) คุณสามารถดำเนินการ nmon และกดปุ่ม t.

monit

monit เป็นโซลูชันโอเพ่นซอร์สบนเว็บและบรรทัดคำสั่งเพื่อตรวจสอบทรัพยากรเซิร์ฟเวอร์, daemons, ไฟล์, ไดเรกทอรี, ระบบไฟล์, ฯลฯ.

Monit ยังมีวิดเจ็ตดีๆ.

Monitorix

ยูทิลิตีโอเพนซอร์สน้ำหนักเบาเพื่อตรวจสอบเซิร์ฟเวอร์ Linux. Monitorix มี HTTP ที่สร้างขึ้นเพื่อให้คุณสามารถตรวจสอบการใช้งานและสิ่งอื่น ๆ บนเว็บ รายงานการใช้งานอื่น ๆ บางส่วน ได้แก่ :

  • Kernal / อุณหภูมิ
  • ระบบไฟล์และ I / O
  • การรับส่งข้อมูลเครือข่าย
  • Apache / จดหมาย / FTP / Nginx / MySQL / วานิช / Memcached /

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

Netdata

Netdata เป็นการตรวจสอบประสิทธิภาพแบบเรียลไทม์สำหรับทรัพยากรระบบแอพพลิเคชั่นเว็บเซิร์ฟเวอร์ฐานข้อมูล DNS อีเมลเซ็นเซอร์ฮาร์ดแวร์และอีกมากมาย มันเป็นโอเพ่นซอร์สและการเริ่มต้นใช้งานนั้นง่าย ข้อมูลทั้งหมดจะถูกรวบรวมจัดเก็บและสตรีมเพื่อให้คุณเห็นภาพแบบโต้ตอบ มีการรวบรวมข้อมูลทุก ๆ วินาทีดังนั้นคุณจะไม่พลาดทุกสิ่ง.

เป็นที่รักของผู้นำในอุตสาหกรรมมากมาย.

ดังนั้นสิ่งที่คุณกำลังรอลองและควบคุมเซิร์ฟเวอร์ Linux ของคุณ.

ข้อสรุป

ฉันหวังว่าเครื่องมือข้างต้นช่วยให้คุณเห็นภาพการใช้งานเซิร์ฟเวอร์แบบเรียลไทม์เพื่อให้คุณสามารถดำเนินการที่จำเป็น หากคุณเพิ่งเริ่มต้นในฐานะผู้ดูแลระบบและมองหาการฝึกอบรมจริง แน่นอน Udemy.

Tags:

  • โอเพ่นซอร์ส

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map