Làm cách nào để kiểm tra GPU nào đang hoạt động trong Linux?


66

Tôi có 2 GPU trong netbook của mình. Làm thế nào để tôi biết cái nào tôi thực sự sử dụng tại bất kỳ thời điểm nào?

Câu trả lời:


42

Tôi vừa trải qua một thời gian cố gắng để đồ họa rời của mình hoạt động trong Ubuntu và trả lời câu hỏi này liên tục là một thách thức, vì phương pháp lspci được đề cập trước đây đôi khi có thể nói rằng cả hai đều [VGA controller]

Tôi nghĩ rằng lệnh sau sẽ cung cấp cho bạn một dấu hiệu của chip hoạt động của bạn:

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

Đối với tôi điều này nói với tôi rằng đồ họa intel của tôi đang chạy chương trình. Nếu bạn đang sử dụng chip nvidia và bạn đang sử dụng bumblebeegói, bạn có thể đặt optiruntrước dòng đó và nó sẽ cho bạn biết rằng bạn đang chạy chip NVidia (về cơ bản, optirun đang bảo máy tính sử dụng chip rời để chạy bất cứ lệnh nào theo sau, nhưng mọi thứ khác vẫn đang sử dụng chip tích hợp)

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

glxheads cũng cho bạn biết một số thông tin hữu ích về việc sử dụng card đồ họa nào (chủ yếu lặp lại glxinfo ở dạng tho nhỏ gọn và dễ đọc hơn), và nó cung cấp cho bạn một hình tam giác xoay đẹp mắt.


16

Để kiểm tra GPU nào hiện đang có lệnh (có nghĩa là bộ điều khiển VGA đang hoạt động), nhập vào

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

Bất kỳ bộ điều khiển nào [VGA controller]ở cuối là GPU hiện đang hoạt động của bạn. Những người khác được tắt. Trong ví dụ sau, thẻ Intel đang hoạt động trong khi nVidia không được sử dụng:

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
Ừm ... vậy có nghĩa là gì nếu cả hai thẻ đều có VGA controllercuối?
ness101

1
Bộ điều khiển tương thích VGA 00: 02.0 [0300]: Bộ điều khiển đồ họa tích hợp bộ xử lý lõi thứ 4 của Intel Corporation [8086: 0416] (rev 06) (prog-if 00 [Bộ điều khiển VGA]) Bộ điều khiển tương thích VGA 01: 00.0 [0300]: NVIDIA Corporation GK106GLM [Quadro K2100M] [10de: 11fc] (rev a1) (prog-if 00 [Bộ điều khiển VGA]) có nghĩa là gì?
Asaf Magen

1
Có lẽ bạn đang sử dụng SLI?
ubuntudroid

trong trường hợp của tôi, cả hai đều có bộ điều khiển tương thích VGA: 00: 02.0 [0300]: Thiết bị Intel Corporation [8086: 591b] (rev 04) (prog-if 00 [Bộ điều khiển VGA]) Bộ điều khiển tương thích VGA 01: 00.0 [0300 ]: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] [10de: 1c20] (rev a1) (prog-if 00 [Bộ điều khiển VGA])
Aftab đã ghi vào

7

nvidia-settings GUI

Trên Ubuntu 15.10, sau khi tôi cài đặt nvidia-352và GPU dường như hoạt động:

nvidia-settings

hiển thị một cái gì đó như:

nhập mô tả hình ảnh ở đây

Lưu ý cách hiển thị:

GPU 0 - (NVS 5400M)

nơi NVS 5400Mlà model GPU của tôi.

Sau đó, nếu tôi kích hoạt glxgears, mức sử dụng GPU sẽ đạt> 90%.

Vì vậy, tôi hy vọng rằng nếu bạn có nhiều GPU, bạn có thể thấy mỗi cái đang được sử dụng bao nhiêu.


Nvidia-352 chính xác là gì? Là một loạt các trình điều khiển hay chỉ là một trình điều khiển cho một GPU cụ thể?
cosbor11

@ cosbor11 nvidia-352là phiên bản của trình điều khiển / Ubuntu gói n, mỗi phiên bản hỗ trợ nhiều GPU như được liệt kê trên trang web chính thức: nvidia.com/Download/driverResults.aspx/90279/en-uames NVS 5400M là model GPU: en.wikipedia .org / wiki / List_of_Nvidia_graphics_processing_units
Ciro Santilli新疆改造中心法轮功六四事件


1

Bạn đang sử dụng hệ điều hành nào? Nếu bạn sử dụng lspci trên hầu hết các máy linux, bạn sẽ có một danh sách các thiết bị pci của mình, chỉ cần grep cho các thiết bị đồ họa và nó sẽ bật lên cả hai. Sau đó, chỉ cần kiểm tra cấu hình của từng người trong số họ, bạn sẽ thấy chi tiết về up / on / active hoặc một cái gì đó với bản chất đó.


1
ubfox 11.04. và lspci đang hiển thị tất cả hai gpu.
LanceBaynes

0

nvidia-smilà rất hữu ích, nhưng đôi khi tôi thấy rằng nó không phải lúc nào cũng bao gồm mọi thứ. Có vẻ như khi các quy trình sụp đổ, chúng không luôn được liệt kê.

sudo lsof /dev/nvidia*đã luôn làm việc cho tôi. Nó cũng sẽ hoạt động mà không có sudo, nhưng sẽ chỉ hiển thị các quy trình thuộc sở hữu của bạn. Nếu bạn đang làm việc trên một máy nhiều người dùng hoặc đang sử dụng docker, có lẽ bạn sẽ nhận được kết quả tốt hơn với sudo.

Nếu bạn thấy sự khác biệt giữa 2 lệnh, bạn có thể muốn xem xét killing các quy trình bổ sung được tìm thấy với lsof.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.