正如标题所述,我无法让 Ubuntu 以可接受的性能运行(实际上我尝试过的任何 Linux 发行版都如此,但 Ubunutu 特别慢)。我的主要问题是使用 Microsoft Teams 或 IntelliJ Idea 时,我所做的一切都变得非常慢。两者不仅在启动后(即在 IntelliJ 索引等之后)导致 CPU 使用率高,而且每次我在其中一个程序中执行任何操作时都会导致 CPU 使用率高。起初我以为这是 Microsoft Teams 的问题,但我在 Zoom 和 Teams Web 客户端上也遇到了同样的问题。
我正在使用联想 Thinkpad P14s:
- 15.3 GiB 内存
- 英特尔酷睿 i7-10510U CPU @ 1.80GHz x 8
- NVIDIA Corporation GP108GLM [Quadro P520] / Quadro P520/PCIe/SSE2 Grahics 和标准 Intel Graphics 板载芯片。
- 作为操作系统,我使用的是 Ubuntu 20.04.1 LTS 64 位。
驱动程序和其他信息:
从inxi -Fxz
我得到:
System:
Kernel: 5.8.0-40-generic x86_64 bits: 64 compiler: N/A
Desktop: KDE Plasma 5.18.5 Distro: Ubuntu 20.04.1 LTS (Focal Fossa)
CPU:
Topology: Quad Core model: Intel Core i7-10510U bits: 64 type: MT MCP
arch: Kaby Lake rev: C L2 cache: 8192 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
bogomips: 36799
Speed: 800 MHz min/max: 400/4900 MHz Core speeds (MHz): 1: 800 2: 800
3: 800 4: 800 5: 800 6: 800 7: 800 8: 800
Graphics:
Device-1: Intel UHD Graphics vendor: Lenovo driver: i915 v: kernel
bus ID: 00:02.0
Device-2: NVIDIA GP108GLM [Quadro P520] driver: nvidia v: 460.32.03
bus ID: 2d:00.0
Display: x11 server: X.Org 1.20.9 driver: modesetting,nvidia
unloaded: fbdev,nouveau,vesa resolution: 1920x1200~60Hz, 1920x1200~60Hz
OpenGL: renderer: Quadro P520/PCIe/SSE2 v: 4.6.0 NVIDIA 460.32.03
direct render: Yes
我也尝试了不同的操作系统(带有 Cinnamon 和 MATE 的 Linux Mint、Pop!_os,因为网上有人声称它具有良好的 Nvidia Graphics 支持或其他什么的,我也尝试了适用于 Ubuntu 的 KDE Plasma 桌面以及标准桌面。在其中一些操作系统上,总体性能很好,除了使用 Microsoft Teams(它确实会降低性能)。但 Teams(或 Zoom web)的性能在所有这些操作系统上都非常差。我也有 Windows 10 分区,那里一切都运行良好。
到目前为止,我尝试了很多东西,这就是为什么我认为上述信息很重要。有人知道吗?是否有可能(尽管 inxi 报告使用了 Nvidia 显卡)仅处理器用于显卡?如果是这样,我该如何更改它。此外,是否有任何选项可以强制 Teams/Idea 使用英特尔显卡(同时将 Nvidia 卡保留为“主卡”)?
如果您需要任何其他信息,我会提供。
提前致谢!
答案1
我有点“解决了它”。
在 Ubuntu 上,我无法找到导致此问题的原因。在摆弄 grub 之后(显然你不应该这样做),我再也无法启动 Ubuntu。它卡在
dev/sda5: clean, xxx/xxx files, xxx/xxx blocks
所以我放弃了,安装了 Arch。在那里我遇到了一个不同的问题(或者可能是相同的,但这次我发现了?):运行inxi -G
显示两个 GPU(Nvidia Quadro 和英特尔 UHD)都具有正确的驱动程序,但 OpenGL 渲染器设置为英特尔而不是 Nvidia 的。此外,尽管使用 prime-run 运行 Teams 和 IntelliJ Idea,Nvidia 卡上的负载为 4%(我发现运行nvidia-smi -i 0
),而英特尔卡上的负载一直很高(我发现运行intel_gpu_top
,在执行诸如在窗口中滚动之类的操作时,负载为 ENGINE Renderer/3D/0 70%)。我尝试将 Nvidia 卡设置为渲染器,将英特尔卡设置为接收器
xrandr --setprovideroffloadsink 1 0
出现错误:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 34 (RRSetProviderOffloadSink)
Value in failed request: 0x218
Serial number of failed request: 16
Current serial number in output stream: 17
我尝试重新安装驱动程序和其他东西,但这也无济于事。最后,我安装了optimus-manager
并pacman
运行
optimus-manager --switch nvidia
重启后运行顺利。
inxi -G
现在显示:
Graphics:
Device-1: Intel UHD Graphics driver: i915 v: kernel
Device-2: NVIDIA GP108GLM [Quadro P520] driver: nvidia v: 460.32.03
Device-3: IMC Networks Integrated Camera type: USB driver: uvcvideo
Display: x11 server: X.Org 1.20.10 driver: loaded: modesetting,nvidia
resolution: 1: 1920x1200~60Hz 2: 1920x1200~60Hz
OpenGL: renderer: Quadro P520/PCIe/SSE2 v: 4.6.0 NVIDIA 460.32.03
英特尔卡上的负载降至最高 10%。我仍然切换到 Teams Web 客户端,正如 @Matigo 指出的那样。这仍然有帮助。谢谢,希望有人觉得这有用。
答案2
联想提供了一份 PDF,其中包含安装前的 BIOS 设置:
PDF 的末尾还介绍了使 NVIDIA 卡正常工作的步骤...我还没有亲自测试过,但我打算购买 p15s 型号。希望这对你有所帮助。