Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

การติดตั้งบนยอด:การตรวจสอบประสิทธิภาพของระบบแบบเรียลไทม์ทำได้ง่าย

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

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

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

ในบทความนี้ เราจะกล่าวถึงสิ่งที่บนยอด ข้อเสนอ วิธีติดตั้งบน Linux ยอดนิยม และวิธีใช้งานอย่างมีประสิทธิภาพเพื่อตรวจสอบและวิเคราะห์ประวัติประสิทธิภาพของระบบของคุณ

เอท็อปคืออะไร?

บนยอด คือระบบแบบเต็มหน้าจอและการตรวจสอบกระบวนการสำหรับ Linux ซึ่งออกแบบมาเพื่อรายงานกิจกรรมทั้งระบบและต่อกระบวนการ รวมถึง:

  • ดูกระบวนการที่กำลังทำงานอยู่และเสร็จสมบูรณ์ทั้งหมด
  • ตรวจสอบการใช้งาน CPU หน่วยความจำ ดิสก์ และเครือข่ายต่อกระบวนการ
  • บันทึกกิจกรรมทั้งหมดในไฟล์ไบนารีเพื่อการวิเคราะห์ในภายหลัง
  • ตรวจจับกระบวนการซอมบี้และเด็กกำพร้า
  • แสดงการใช้ทรัพยากรระดับเธรด
  • ตรวจสอบกิจกรรมต่อผู้ใช้และต่อโปรแกรม
  • แสดงแผงแรงดัน (PSI) สำหรับ CPU/หน่วยความจำ/ดิสก์ในเคอร์เนลสมัยใหม่
  • รองรับ cgroup v2 เหมาะสำหรับสภาพแวดล้อมแบบคอนเทนเนอร์
  • การผสานรวมทางเลือกกับ Netatop สำหรับสถิติเครือข่ายต่อกระบวนการ

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

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

การติดตั้งเครื่องมือตรวจสอบ Atop บน Linux

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

บน RHEL/CentOS/Fedora

ขั้นแรก คุณจะต้องเปิดใช้งานพื้นที่เก็บข้อมูล epel ภายใต้การกระจายแบบอิง RHEL เพื่อติดตั้งเครื่องมือตรวจสอบบนยอด

sudo dnf install epel-release

หลังจากที่คุณเปิดใช้งานพื้นที่เก็บข้อมูล epel แล้ว คุณสามารถใช้ตัวจัดการแพ็คเกจ yum เพื่อติดตั้ง บนยอด แพ็คเกจตามที่แสดงด้านล่าง

sudo dnf install atop

บนเดเบียน/อูบุนตู

ภายใต้การกระจายแบบอิง Debian บนยอด สามารถติดตั้งได้จากที่เก็บเริ่มต้นโดยใช้คำสั่ง apt

sudo apt-get install atop

บน Arch Linux / Manjaro

หากคุณใช้ distro แบบ Roll-release เช่น Arch หรืออนุพันธ์ของมัน กำลังติดตั้ง บนยอด เป็นเพียงคำสั่งเดียว:

sudo pacman -S atop

การติดตั้งบนยอดจากแหล่งที่มา (ทางเลือก)

หากคุณต้องการเวอร์ชันล่าสุด (เช่น หากเวอร์ชัน repo ล้าสมัยหรือคุณต้องการฟีเจอร์ล้ำสมัย) คุณสามารถสร้าง บนยอด จากแหล่งที่มา

wget https://www.atoptool.nl/download/atop-2.12.0.tar.gz
tar -xzf atop-2.12.0.tar.gz
cd atop-2.12.0
make
sudo make install

หมายเหตุ :คุณอาจต้องติดตั้งเครื่องมือการพัฒนาเช่น build-essential (เดเบียน) หรือ gcc , สร้าง ฯลฯ ขึ้นอยู่กับ distro ของคุณ

เมื่ออยู่บนยอด ติดตั้งแล้ว เราจำเป็นต้องเปิดใช้งานบริการบันทึกพื้นหลัง เพื่อให้สามารถเริ่มรวบรวมข้อมูลประสิทธิภาพโดยอัตโนมัติเมื่อบูตเครื่อง

sudo systemctl enable --now atop
sudo systemctl enable --now atop-rotate.timer

การเริ่มต้นใช้งานบนยอดใน Linux

เมื่อคุณติดตั้ง บนยอด แล้ว และเปิดใช้งานบริการบันทึก เปิดในเทอร์มินัลของคุณ:

atop

จากนั้นคุณจะเห็นอินเทอร์เฟซไดนามิกที่มีสีคล้ายกับด้านบน โดยจะรีเฟรชตามค่าเริ่มต้นทุกๆ 10 วินาที

การติดตั้งบนยอด:การตรวจสอบประสิทธิภาพของระบบแบบเรียลไทม์ทำได้ง่าย บนระบบการตรวจสอบ

การปรับแต่งช่วงเวลาบันทึก (ค่าเริ่มต้น:600 วินาที)

ตามค่าเริ่มต้น บนยอด บันทึกกิจกรรมของระบบทุกๆ 600 วินาที (เช่น 10 นาที) ซึ่งอาจเพียงพอสำหรับการตรวจสอบทั่วไป แต่มักจะไม่บ่อยเกินไปสำหรับการแก้ไขปัญหาที่มีประสิทธิภาพ โดยเฉพาะอย่างยิ่งเมื่อคุณกำลังไล่ตามการใช้ทรัพยากรที่เพิ่มขึ้นอย่างรวดเร็วในช่วงสั้นๆ หรือแก้ไขจุดบกพร่องคอขวดของประสิทธิภาพ

sudo sed -i 's/600/60/' /etc/atop/atop.daily [Under RedHat based systems]
sudo sed -i 's/600/60/' /etc/default/atop [Under Debian based systems]

หลังจากทำการเปลี่ยนแปลงนี้ บนยอด จะเริ่มรวบรวมบันทึกทุกนาที ทำให้คุณเห็นภาพพฤติกรรมของระบบในช่วงเวลาต่างๆ ได้ชัดเจนยิ่งขึ้น ซึ่งมีประโยชน์อย่างยิ่งในการวินิจฉัยปัญหาที่ไม่ต่อเนื่อง วิเคราะห์แนวโน้ม หรือตรวจสอบเซิร์ฟเวอร์ภายใต้ภาระงานหนัก

ดูข้อมูลกำหนดการ (คีย์)

หากต้องการทราบข้อมูลเชิงลึกว่าเคอร์เนลจัดกำหนดการกระบวนการอย่างไร ให้กด 08 ซึ่งจะแสดงว่าแต่ละรายการใช้เวลา CPU นานเท่าใด และอยู่ใน “ทำงาน นานเท่าใด ” รัฐ.

atop -s

วิเคราะห์การใช้งานหน่วยความจำ (ปุ่ม m)

โดยกด 17 ที่สำคัญ คุณจะได้รับมุมมองที่ครอบคลุมเกี่ยวกับการใช้หน่วยความจำสำหรับกระบวนการที่ทำงานอยู่ทั้งหมด 21 คอลัมน์แสดงหน่วยความจำเสมือนทั้งหมดที่จัดสรร ในขณะที่ 30 ระบุส่วนของหน่วยความจำที่มีอยู่ใน RAM ในปัจจุบัน

นอกจากนี้ 44 และ 59 แสดงจำนวนหน่วยความจำเสมือนและหน่วยความจำภายในที่กระบวนการได้รับหรือสูญหายในช่วงเวลาปัจจุบัน 63 คอลัมน์แสดงเปอร์เซ็นต์โดยรวมของหน่วยความจำที่ใช้โดยแต่ละกระบวนการ

atop -m

ตรวจสอบการใช้งานดิสก์ (ปุ่ม d)

Disk I/O เป็นปัญหาคอขวดที่พบบ่อยในหลายระบบ และอยู่บนยอด ทำให้ง่ายต่อการตรวจสอบด้วย 75 คีย์ ซึ่งแสดงกิจกรรมดิสก์ในระดับระบบ รวมถึงสถิติการจัดการวอลุ่มลอจิคัล (LVM) และประสิทธิภาพต่อดิสก์

84 และ 96 คอลัมน์แสดงจำนวนข้อมูลที่กำลังอ่านและเขียน (เป็น KB/s) ในขณะที่ 107 และ 119 คอลัมน์ช่วยระบุวอลุ่มหรือดิสก์ใดที่มีการใช้งานมากที่สุด

atop -d

ดูข้อมูลกระบวนการโดยละเอียด (ปุ่ม v)

124 คีย์ช่วยให้สามารถแยกย่อยโดยละเอียดของแต่ละกระบวนการ โดยแสดงค่าต่างๆ เช่น 134 , 146 , 158 และเปอร์เซ็นต์การใช้งาน CPU ซึ่งมีประโยชน์อย่างยิ่งเมื่อคุณต้องการติดตามผู้ใช้หรือบริการเฉพาะด้วยตัวระบุที่เป็นตัวเลข หรือตรวจสอบว่ากลุ่มใดเป็นเจ้าของกระบวนการที่ต้องใช้ทรัพยากรมาก

atop -v

แสดงคำสั่งกระบวนการ (ปุ่ม c)

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

atop -c

กระบวนการกลุ่มตามโปรแกรม (คีย์ p)

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

atop -p

กระบวนการกลุ่มตามผู้ใช้ (ปุ่ม u)

เมื่อคุณสนใจการใช้ทรัพยากรระดับผู้ใช้ ให้กด 185 คีย์ ซึ่งแสดงจำนวนกระบวนการที่ผู้ใช้แต่ละคนทำงานอยู่ในปัจจุบันหรือได้ทำงานในระหว่างช่วงเวลาการตรวจสอบ รวมถึงการใช้งาน CPU และหน่วยความจำสะสม

atop -u

ตรวจสอบการใช้งานเครือข่าย (ปุ่ม n)

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

# RedHat-based:
sudo yum install kernel-devel zlib-devel
# Debian-based:
sudo apt-get install zlib1g-dev

ดาวน์โหลดและสร้าง:

wget http://www.atoptool.nl/download/netatop-0.3.tar.gz
tar -xvf netatop-0.3.tar.gz
cd netatop-0.3
make
sudo make install

หากต้องการโหลดโมดูลและสตาร์ท daemon โดยอัตโนมัติหลังจากบูต:

sudo systemctl start netatop
sudo systemctl enable netatop

เมื่อติดตั้งแล้ว ให้กด 199 ภายใน atop จะแสดงจำนวนไบต์ที่ส่ง/รับ จำนวนแพ็กเก็ต และข้อผิดพลาดเกี่ยวกับเครือข่ายสำหรับแต่ละกระบวนการ

atop -n

การเข้าถึงบันทึกประวัติ

Atop เก็บไฟล์บันทึกไบนารีไว้ที่:

/var/log/atop/atop_YYYYMMDD

ตัวอย่างเช่น ไฟล์เช่น 203 มีบันทึกสำหรับวันที่ 30 มิถุนายน 2025 ซึ่งเป็นไฟล์ไบนารี่และมนุษย์ไม่สามารถอ่านได้ – มีเพียง บนยอด เท่านั้น สามารถแยกวิเคราะห์ได้

หากต้องการดูกรอบเวลาที่เฉพาะเจาะจงจากบันทึกของวันนี้ ให้พูดว่าเริ่มต้นเวลา 5:05 น.:

atop -r -b 05:05 -l 1

ที่นี่:

  • 216 บอกให้ Atop อ่านจากไฟล์บันทึก
  • 225 ระบุเวลาเริ่มต้น
  • 233 จำกัดเอาต์พุตให้เหลือเพียงสแนปชอตช่วงเวลาเดียวเท่านั้น

ใช้สเปซบาร์เพื่อเลื่อนไปข้างหน้าตามช่วงเวลาและ 249 เพื่อกลับไป 251 ข้ามไปยังรายการล่าสุด

รับความช่วยเหลือภายใน Atop

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

บทสรุป

ฉันหวังว่าคุณจะพบว่าบทความของฉันมีประโยชน์ และช่วยคุณจำกัดหรือป้องกันปัญหาเกี่ยวกับระบบ Linux ของคุณ ในกรณีที่คุณมีข้อสงสัยหรือต้องการรับคำชี้แจงเกี่ยวกับการใช้งาน atop โปรดแสดงความคิดเห็นในส่วนความคิดเห็นด้านล่าง