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