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?
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:
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 bumblebee
gói, bạn có thể đặt optirun
trướ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.
Để 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)
nvidia-settings
GUI
Trên Ubuntu 15.10, sau khi tôi cài đặt nvidia-352
và GPU dường như hoạt động:
nvidia-settings
hiển thị một cái gì đó như:
Lưu ý cách hiển thị:
GPU 0 - (NVS 5400M)
nơi NVS 5400M
là 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
là 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
nvidia-smi -L
Điều này đã cho tôi những gì tôi muốn. Lệnh này hiển thị danh sách các GPU có trên máy của bạn. Điều này có thể giúp bạn tìm ra những người đang hoạt động.
nhận lệnh từ luồng tại đây: Ubuntu Box với nhiều thẻ GPU NVIDIA | devtalk.nvidia.com
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 đó.
nvidia-smi
là 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 kill
ing các quy trình bổ sung được tìm thấy với lsof
.
VGA controller
cuối?