จะตรวจสอบ GPU ตัวใดที่ใช้งานใน Linux?


66

ฉันมี 2 GPU อยู่ในเน็ตบุ๊กของฉัน ฉันจะรู้ได้อย่างไรว่าฉันใช้อันไหนในช่วงเวลาใดเวลาหนึ่ง?

คำตอบ:


42

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

ฉันคิดว่าคำสั่งต่อไปนี้จะให้ข้อบ่งชี้ถึงชิปที่ใช้งานของคุณ:

$ glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile

สำหรับฉันแล้วสิ่งนี้กำลังบอกฉันว่ากราฟิก Intel ของฉันกำลังแสดงอยู่ หากคุณใช้ชิป nvidia และคุณใช้bumblebeeแพ็คเกจคุณสามารถวางไว้optirunข้างหน้าบรรทัดนั้นและควรบอกคุณว่าคุณกำลังใช้ชิป NVidia (optirun บอกให้คอมพิวเตอร์ใช้ชิปแยกโดยทั่วไป เพื่อรันคำสั่งอะไรก็ตาม แต่ทุกอย่างยังคงใช้ชิปรวมอยู่)

$ optirun glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 555M/PCIe/SSE2

glxheads ยังบอกข้อมูลที่เป็นประโยชน์เกี่ยวกับกราฟิกการ์ดที่ใช้งานอยู่ (ส่วนใหญ่จะทำซ้ำ glxinfo ในรูปแบบที่กะทัดรัดและอ่านง่ายกว่า) และมันให้การเรนเดอร์ที่ดีของสามเหลี่ยมหมุนได้


16

เพื่อตรวจสอบว่า GPU ใดที่อยู่ในคำสั่ง (ซึ่งหมายความว่าเป็นตัวควบคุม VGA ที่ใช้งาน) พิมพ์

lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA

ตัวควบคุมใด ๆ[VGA controller]ที่อยู่ท้ายสุดคือ GPU ที่ใช้งานอยู่ในปัจจุบันของคุณ คนอื่น ๆ ถูกปิด ในตัวอย่างต่อไปนี้การ์ด Intel ใช้งานได้ในขณะที่ nVidia ไม่ได้ใช้งาน:

00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor
Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA 
controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce
GT 540M] [10de:0df4] (rev ff) (prog-if ff)

7
อืม ... มันหมายความว่าอย่างไรถ้าทั้งสองใบมีVGA controllerที่สิ้นสุด?
naught101

1
00: 02.0 ตัวควบคุมที่เข้ากันได้กับ VGA [0300]: Intel Corporation ตัวประมวลผลแบบรวมรุ่นที่ 4 ของคอร์กราฟิกคอนโทรลเลอร์ [8086: 0416] (รอบ 06) (prog-if 00 [ตัวควบคุม VGA]) 01: 00.0 ตัวควบคุมที่เข้ากันได้กับ VGA [0300]: NVIDIA Corporation GK106GLM [Quadro K2100M] [10de: 11fc] (รอบ a1) (prog-if 00 [คอนโทรลเลอร์ VGA]) มันหมายความว่าอะไร?
Asaf Magen

1
บางทีคุณกำลังใช้ SLI
ubuntudroid

ในกรณีของฉันทั้งสองมีที่สิ้นสุด: 00: 02.0 ควบคุมความเข้ากันได้ VGA [0300]: อุปกรณ์ Intel Corporation [8086: 591b] (รอบ 04) (prog-if 00 [ตัวควบคุม VGA]) 01: 00.0 ควบคุมความเข้ากันได้ VGA [0300 ]: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] [10de: 1c20] (รอบ a1) (prog-if 00 [ตัวควบคุม VGA])
Aftab Naveed

7

nvidia-settings GUI

บน Ubuntu 15.10 หลังจากฉันติดตั้งnvidia-352และ GPU ดูเหมือนว่าจะทำงาน:

nvidia-settings

แสดงให้เห็นถึงสิ่งที่ชอบ:

ป้อนคำอธิบายรูปภาพที่นี่

สังเกตว่ามันแสดงให้เห็นว่า:

GPU 0 - (NVS 5400M)

NVS 5400Mรุ่น GPU ของฉันอยู่ที่ไหน

ถ้าฉันเริ่มglxgearsการใช้ GPU ไปที่> 90%

ดังนั้นฉันคาดหวังว่าถ้าคุณมี GPU หลายตัวคุณจะเห็นได้ว่าแต่ละอันมีการใช้งานเท่าใดในแต่ละครั้ง


nvidia-352 คืออะไรกันแน่? เป็นกลุ่มไดรเวอร์หรือเพียงแค่ไดรเวอร์สำหรับ GPU เฉพาะหรือไม่
cosbor11

@ cosbor11 nvidia-352เป็นรุ่นของคนขับ / อูบุนตูแพคเกจ n แต่ละรุ่นสนับสนุน GPUs มากที่สุดเท่าที่ระบุไว้บนเว็บไซต์อย่างเป็นทางการ: nvidia.com/Download/driverResults.aspx/90279/en-uames NVS 5400M เป็นรูปแบบของ GPU: en.wikipedia .org / wiki / List_of_Nvidia_graphics_processing_units
Ciro Santilli 事件改造中心中心法轮功六四事件

7
nvidia-smi -L

สิ่งนี้ทำให้ฉันในสิ่งที่ฉันต้องการ คำสั่งนี้แสดงรายการของ GPU ที่มีอยู่ในเครื่องของคุณ นี่อาจช่วยให้คุณคิดได้ว่าอันไหนที่ใช้งานอยู่

ได้รับคำสั่งจากเธรดที่นี่: กล่อง Ubuntu พร้อมการ์ด NVIDIA GPU หลายตัว devtalk.nvidia.com


1

คุณใช้ระบบปฏิบัติการใดอยู่ หากคุณใช้ lspci บนเครื่อง linux ส่วนใหญ่คุณจะได้รับรายชื่ออุปกรณ์ pci ของคุณเพียงแค่ grep สำหรับอุปกรณ์กราฟิกและมันควรจะปรากฏขึ้นทั้งสองอย่าง หลังจากนั้นเพียงตรวจสอบการกำหนดค่าในแต่ละรายการคุณควรเห็นรายละเอียดของ up / on / active หรือบางอย่างในลักษณะนั้น


1
อูบุนตู 11.04 และ lspci แสดงทั้งสอง gpu
LanceBaynes

0

nvidia-smiมีประโยชน์มาก แต่บางครั้งฉันก็พบว่ามันไม่ได้รวมทุกอย่าง ดูเหมือนว่าเมื่อกระบวนการขัดข้องจะไม่ปรากฏในรายการเสมอ

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

ถ้าคุณเห็นความแตกต่างระหว่าง 2 คำสั่งคุณอาจต้องการที่จะต้องพิจารณาไอเอ็นจีกระบวนการพิเศษที่พบกับkilllsof

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.