Tại sao tôi có mức sử dụng CPU cao (lõi đơn) khi chạy glxgears trên GPU?


0

Khi chạy glxgears (hoặc bất kỳ ứng dụng chuyên sâu về đồ họa nào) trên linux, tôi thấy việc sử dụng 100% lõi lõi đơn, mặc dù tôi đã xác nhận rằng nó đang sử dụng GPU Nvidia của tôi làm trình kết xuất. Điều đó có được mong đợi không?

Máy của tôi

$ inxi -Fxz
System:    Kernel: 4.15.0-38-generic x86_64 (64 bit gcc: 5.4.0)
           Desktop: Cinnamon 3.4.6 (Gtk 3.18.9) Distro: Linux Mint 18.2 Sonya
Machine:   System: Dell (portable) product: Precision 5520
           Mobo: Dell model: 04GFKY v: A00 Bios: Dell v: 1.5.0 date: 08/30/2017
CPU:       Quad core Intel Xeon E3-1505M v6 (-HT-MCP-) cache: 8192 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 24000
           clock speeds: max: 4000 MHz 1: 1727 MHz 2: 1417 MHz 3: 1354 MHz 4: 1510 MHz 5: 949 MHz 6: 1430 MHz
           7: 1283 MHz 8: 1440 MHz
Graphics:  Card-1: Intel HD Graphics P630 bus-ID: 00:02.0
           Card-2: NVIDIA GM107GLM [Quadro M1200 Mobile] bus-ID: 01:00.0
           Display Server: X.Org 1.18.4 driver: nvidia Resolution: 3440x1440@49.99hz
           GLX Renderer: Quadro M1200/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 384.130 Direct Rendering: Yes

Tôi có một thiết lập không phổ biến ở chỗ tôi đang sử dụng linux trên máy tính xách tay có Nvidia Optimus (đồ họa tích hợp Intel + GPU di động Nvidia rời rạc). Tuy nhiên, tôi đã cấu hình linux để sử dụng GPU Nvidia chuyên dụng bằng cách sử dụng nvidia-primevà xác minh cấu hình ( inxiđầu ra ở trên cũng báo cáo thẻ / trình điều khiển Nvidia đang được sử dụng làm trình kết xuất đồ họa).

Kiểm tra

Tôi bắt đầu glxgears:

$ glxgears -info
GL_RENDERER   = Quadro M1200/PCIe/SSE2
GL_VERSION    = 4.5.0 NVIDIA 384.130
GL_VENDOR     = NVIDIA Corporation

và trong htoptôi thấy:

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

Tôi cũng đã chạy oprofileđể nhận được một báo cáo về những gì CPU của tôi đang làm, nó đã cho tôi:

CPU: Intel Architectural Perfmon, speed 4000 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 100000
CPU_CLK_UNHALT...|
  samples|      %|
------------------
  4232537 100.000 glxgears
        CPU_CLK_UNHALT...|
          samples|      %|
        ------------------
          3155713 74.5584 kallsyms
           523169 12.3606 libnvidia-glcore.so.384.130
           332903  7.8653 libc-2.23.so
           177315  4.1893 libGL.so.384.130
            27398  0.6473 .glxj5h8n
             3605  0.0852 libxcb.so.1.1.0
             3396  0.0802 libX11.so.6.3.0
             3273  0.0773 libm-2.23.so
             2594  0.0613 glxgears
             1218  0.0288 [vdso] (tgid:10292 range:0x7ffc294d2000-0x7ffc294d3fff)
              706  0.0167 .glWqJoPX
              682  0.0161 libXext.so.6.4.0
              366  0.0086 .glhBcsou
               68  0.0016 snd_usb_audio
               51  0.0012 nvidia
               41 9.7e-04 iwlwifi
               18 4.3e-04 kvm
               15 3.5e-04 x86_pkg_temp_thermal
                2 4.7e-05 hid
                2 4.7e-05 mac80211
                2 4.7e-05 nvidia_uvm

Dựa trên glxgears đó chắc chắn đang sử dụng phụ trợ nvidia nên tôi bối rối tại sao một ứng dụng đồ họa thuần túy, sử dụng gpu, cũng sẽ có mức sử dụng cpu lõi đơn cao?

Câu trả lời:


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.