xorgとCPU使用率

xorgとCPU使用率

私のラップトップにDebian 10がインストールされていて、Debianの後にxorg、i3wm、comptonを手動でインストールしました。 nVidia独自のドライバをインストールし、xorg.confファイルのいくつかのオプションを調整して、いくつかの深刻な破れの問題を修正しました。

/usr/share/X11/xorg.conf.d/10-nvidia.conf    
    # nvidia-settings: X configuration file generated by nvidia-settings
    # nvidia-settings:  version 390.116

    Section "ServerLayout"
        Identifier     "Layout0"
        Screen      0  "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "Mouse0" "CorePointer"
        Option         "Xinerama" "0"
    EndSection

    Section "Files"
    EndSection

    Section "Module"
        Load           "dbe"
        Load           "extmod"
        Load           "type1"
        Load           "freetype"
        Load           "glx"
    EndSection

    Section "InputDevice"
        # generated from default
        Identifier     "Mouse0"
        Driver         "mouse"
        Option         "Protocol" "auto"
        Option         "Device" "/dev/psaux"
        Option         "Emulate3Buttons" "no"
        Option         "ZAxisMapping" "4 5"
    EndSection

    Section "InputDevice"
        # generated from default
        Identifier     "Keyboard0"
        Driver         "kbd"
    EndSection

    Section "Monitor"
        # HorizSync source: edid, VertRefresh source: edid
        Identifier     "Monitor0"
        VendorName     "Unknown"
        ModelName      "FUS P19-3P"
        HorizSync       30.0 - 82.0
        VertRefresh     56.0 - 76.0
        Option         "DPMS"
    EndSection

    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BusID          "PCI:1:0:0"
        BoardName      "GeForce GTX 670M"
        Option         "NoLogo" "1"
        Option         "MigrationHeuristic" "greedy"
        Option         "AccelMethod" "sna"
        Option         "TearFree"    "true"
        Option "RenderAccel" "True"
        Option "AddARGBGLXVisuals" "True"
        Option "OnDemandVBlankInterrupts" "True"
        Option "InitialPixmapPlacement" "2"
        Option "BackingStore" "True"
        Option "DamageEvents" "True"
        Option "UseEvents" "False"
        Option "Coolbits" "1"
        Option "DisableGLXRootCliping" "True"
        Option "TripleBuffer" "true"
        Option "Coolbits" "24"
        Option "PixmapCacheSize" "300000"
        Option "GlyphCache" "1"

    EndSection

    Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
        Monitor        "Monitor0"
        DefaultDepth    24
        Option         "Stereo" "0"
        Option         "metamodes" "HDMI-0: nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
        Option         "SLI" "Off"
        Option         "MultiGPU" "Off"
        Option         "BaseMosaic" "off"
        SubSection     "Display"
            Depth       24
        EndSubSection
    EndSection

そしてcompton.confファイルから:

~/.config/compton.conf
# basic configuration
backend = "glx";
vsync = "opengl-swc";
paint-on-overlay = true
glx-no-stencil = true

glx-copy-from-front = true;
glx-swap-method = 2;
xrender-sync = true;
xrender-sync-fence = true;

# transparancy settings for i3
opacity-rule = [
    "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
    "100:class_g = 'Firefox-esr' && !_NET_WM_STATE@:32a",
    "0:_NET_WM_STATE@[0]:32a *= '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[1]:32a *= '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[2]:32a *= '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[3]:32a *= '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[4]:32a *= '_NET_WM_STATE_HIDDEN'",
    "92:class_g = 'st-256color' && !_NET_WM_STATE@:32a",
    "0:_NET_WM_STATE@[0]:32a *= '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[1]:32a *= '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[2]:32a *= '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[3]:32a *= '_NET_WM_STATE_HIDDEN'",
    "0:_NET_WM_STATE@[4]:32a *= '_NET_WM_STATE_HIDDEN'"
];

そしてコンプトンに電話してください。 exec --no-startup-id compton --config ~/.config/compton.conf -CGb --backend glx --paint-on-overlay --vsync opengl-swc

i3wm構成ファイルから。

lspciの出力も添付しました。

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.3 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 4 (rev c4)
00:1c.4 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GF114M [GeForce GTX 670M] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF114 HDMI Audio Controller (rev a1)
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 105 (rev c4)
04:00.0 Ethernet controller: Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet (rev c0)

ポンドテストを使ってモニターをテストしましたが、問題は確実に消えました。このウェブサイト時々(約10秒ごとに)UFOが少し後ろに移動し、再び前方に移動するのを見ます...

問題を調査した結果、一部のユーザーがxorgの高いCPU使用率について文句を言っていることがわかりました。私は一般的にCPU使用率が高くありません。 (この質問を書くときに各8コアCPUで7%未満を維持しましたが、ボックスサイズを前後に調整し始めるとCPU使用率が70/80まで上がります。%)が、i3でフローティングウィンドウを移動しようとすると、一部のコアのCPU使用率が50/60%に上昇し始めます(これらの結果はすべて使用量として確認されますhtop)。犯人はxorgとcomptonです(時には私のウィンドウでも発生します)。 )移動する)。

だから質問は:なぜこれが起こるのですか?これが画面に表示される問題に関連している可能性がありますか? GPUによって画面が再描画されるのではありませんか?それでは、なぜCPU使用率に大きな影響を与えますか?私が見ている小さな画面のアーティファクトを引き起こす可能性があるこの問題を解決する方法はありますか?

よろしくお願いします。

ベストアンサー1

おすすめ記事