- NVTop = "Neat Videocard TOP"
- ตัวติดตามงานสำหรับ GPU และตัวเร่งความเร็ว
- จัดการข้อมูลจาก GPU หลายตัว และแสดงผลข้อมูลในลักษณะคล้ายกับ htop
- ผู้ผลิตที่รองรับในปัจจุบัน: AMD (ไดรเวอร์ Linux
amdgpu), Apple (รองรับ M1 & M2 แบบจำกัด), Huawei (Ascend), Intel (ไดรเวอร์ Linux i915), NVIDIA (ไดรเวอร์เฉพาะบน Linux), Qualcomm Adreno (ไดรเวอร์ Linux MSM)
ตัวเลือกและคำสั่งแบบโต้ตอบของ NVTOP
- หน้าต่างตั้งค่าแบบโต้ตอบ: กด
F2 เพื่อเปิดยูทิลิตีตั้งค่าที่ช่วยปรับแต่งอินเทอร์เฟซให้ตรงกับความต้องการของผู้ใช้
- บันทึกการตั้งค่า: บันทึกสภาพแวดล้อมที่ตั้งค่าไว้ในหน้าต่างตั้งค่าด้วยการกด
F12 แล้วจะถูกโหลดขึ้นมาเมื่อรัน nvtop ครั้งถัดไป
- คู่มือและตัวเลือกคำสั่งของ NVTOP: มีหน้าคู่มือให้ใช้งาน (
man nvtop) และสามารถดูตัวช่วยของคำสั่งได้ด้วย nvtop -h หรือ nvtop --help
การรองรับ GPU
- AMD: รองรับ AMD GPU ผ่านไดรเวอร์
amdgpu โดยสามารถดูโปรเซสที่ใช้ GPU ได้บนเคอร์เนล 5.14 ขึ้นไป
- Intel: รองรับ Intel GPU ผ่านไดรเวอร์ Linux
i915 โดยสามารถดูโปรเซสที่ใช้ GPU ได้บนเคอร์เนล 5.19 ขึ้นไป
- NVIDIA: รองรับผ่านไลบรารี NVML โดย GPU ที่เก่ากว่าไมโครสถาปัตยกรรม Kepler จะไม่รองรับบางคิวรี
- Adreno: รองรับ Adreno GPU ผ่านไดรเวอร์ Linux
msm โดยสามารถดูโปรเซสที่ใช้ GPU ได้บนเคอร์เนล 6.0 ขึ้นไป
- Apple: มีการรองรับเบื้องต้นสำหรับ Apple โดยใช้ Metal และรองรับเฉพาะตอน build บน Apple เท่านั้น
- Ascend: รองรับ Ascend ผ่าน DCMI API (เวอร์ชัน 6.0.0) โดยปัจจุบัน DCMI ยังรองรับ API ได้อย่างจำกัด
การ build
- ไลบรารีที่ต้องใช้: ncurses (ส่วนติดต่อผู้ใช้), NVIDIA (NVML), AMD (libdrm), Intel (i915) เป็นต้น
- ขั้นตอนการ build: โคลนซอร์สโค้ดด้วย
git clone จากนั้น build ด้วย cmake และติดตั้งลงระบบด้วย make install
ขั้นตอนการติดตั้งตามดิสทริบิวชัน
- Ubuntu / Debian: รองรับการติดตั้งผ่าน
snap หรือ apt และสามารถติดตั้ง nvtop เวอร์ชันล่าสุดผ่าน PPA ได้
- Fedora / Red Hat / CentOS: รองรับการติดตั้งผ่าน AppImage หรือ
dnf
- OpenSUSE: รองรับการติดตั้งผ่าน
zypper
- Arch Linux: ติดตั้ง
nvtop ผ่าน pacman
- Gentoo: ติดตั้ง
nvtop ผ่าน layman และ emerge
- AppImage: มีให้ใช้งานเป็นแอปพลิเคชันแบบสแตนด์อโลน โดยให้สิทธิ์รันแล้วจึงเปิดใช้งาน
- Snap: ติดตั้งด้วย
snap install แล้วต้องมอบสิทธิ์เพิ่มเติมเพื่อควบคุมโปรเซสและตรวจสอบข้อมูล GPU
- Docker: ต้องใช้ไดรเวอร์ NVIDIA และ
nvidia-docker และรันด้วย docker build กับ docker run
ความเห็นของ GN⁺
- NVTOP รองรับผู้ผลิต GPU ได้หลากหลาย และเป็นเครื่องมือที่ทรงพลังสำหรับการมอนิเตอร์ GPU บนระบบที่ใช้ Linux
- เครื่องมือนี้มอบวิธีที่มีประสิทธิภาพให้ผู้ดูแลระบบและนักพัฒนาในการตรวจสอบสถานะการใช้งาน GPU แบบเรียลไทม์
- การมอนิเตอร์ GPU มีความสำคัญเป็นพิเศษเมื่อทำงานที่พึ่งพา GPU เช่น machine learning การวิเคราะห์ข้อมูล และการพัฒนาเกม
- โปรเจกต์โอเพนซอร์สอื่นที่มีความสามารถคล้ายกับ NVTOP คือ
gpustat และผู้ใช้สามารถเลือกเครื่องมือให้เหมาะกับความต้องการของตนได้
- เนื่องจากเป็นโปรเจกต์โอเพนซอร์ส จึงสามารถมีการปรับปรุงอย่างต่อเนื่องและเพิ่มฟีเจอร์ใหม่ผ่านการมีส่วนร่วมของชุมชนได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
nvtopหรือnvidia-smiให้ภาพรวมการใช้งาน GPU ได้ดี แต่ไม่เหมาะกับการสะท้อนความเร็วการทำงานจริง หากสนใจประสิทธิภาพด้าน AI แนะนำให้ใช้ Nsight Compute CLI เพื่อโปรไฟล์แต่ละเคอร์เนล และใช้ Nsight Systems สำหรับมุมมองภาพรวมระดับมหภาค ถ้าใช้ PyTorch ก็แนะนำให้ใช้ PyTorch profilerapt installใช้งานไม่ได้ โดยชี้ว่าปัญหาการติดตั้งที่เกี่ยวกับ NVIDIA เกิดขึ้นบ่อย และทำให้ต้องเสียเวลามากเมื่อจำเป็นต้องติดตั้ง Linux ใหม่ วิจารณ์ว่ามีหลายชั้นและความขัดแย้งกันของเวอร์ชัน ทั้งไดรเวอร์, CUDA, CUDA toolkit, cuDNN ฯลฯ ที่ทำให้เกิดความสับสนNvitopที่ผู้ใช้ชื่นชอบnvtopและbottomว่าเป็นตัวมอนิเตอร์ทรัพยากรที่ชอบบน Linux และแชร์ว่าเพิ่งรู้ว่าnvtopใช้งานได้ไม่เฉพาะอุปกรณ์ NVIDIA แต่กับอุปกรณ์ที่ไม่ใช่ NVIDIA ด้วยbtopซึ่งในเวอร์ชันล่าสุดรองรับทั้งการมอนิเตอร์โปรเซสทั่วไปและการมอนิเตอร์ GPUgpustatโดยอธิบายว่ามันให้ข้อมูลขั้นต่ำที่จำเป็นต่อการดูว่าการเทรนมีปัญหาหรือกำลังดำเนินไปได้ดีZenithโดยอธิบายว่ามันรวมทั้งการมอนิเตอร์ NVIDIA GPU รวมถึงฟังก์ชันอย่างดิสก์, CPU และ Top ไว้ด้วยกันsensors2mqttที่อยากนำมาใช้