KDE Plasma 5. 大型编译后,GUI 元素严重滞后。滞后非常严重,必须使用脚本重新启动计算机

KDE Plasma 5. 大型编译后,GUI 元素严重滞后。滞后非常严重,必须使用脚本重新启动计算机

每次我在 Simulink 中编译模型时,“OS”GUI 的 GUI 元素(大致是 KDE Plasma 元素)就会开始严重滞后,导致计算机无法使用。滞后会持续到操作系统重新启动为止。由于我无法访问注销部分,因此我不得不创建一个 bash 脚本,从终端重新启动计算机。为此,我已经忍受了好几个月。我已经将整个操作系统彻底改造为 22.04,添加了 HWE 和最新的内核 6.5.0,滞后仍然存在。我已经执行了热量监控、监控ps aux、监控free -h、监控top。使用监控了空闲 GPU 内存nvidia-smi。按 CPU 使用率对进程进行排序。我没有从这些中检测到任何问题。我束手无策了。

xpswhite@machine:~$ uname -a
Linux X.X.X 6.5.0-25-generic #25~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Feb 20 16:09:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

xpswhite@machine:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

xpswhite@machine:~$ hwe-support-status --verbose
Your Hardware Enablement Stack (HWE) is supported until April 2027.

xpswhite@machine:~$ dkms status
nvidia/535.161.07, 5.15.0-100-generic, x86_64: installed
nvidia/535.161.07, 5.15.0-97-generic, x86_64: installed
nvidia/535.161.07, 6.5.0-25-generic, x86_64: installed

xpswhite@machine:~$ kf5-config --version
Qt: 5.15.3
KDE Frameworks: 5.104.0
kf5-config: 1.0

xpswhite@machine:~$ nvidia-smi
Tue Mar 12 20:59:48 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.161.07             Driver Version: 535.161.07   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3070        Off | 00000000:01:00.0  On |                  N/A |
|  0%   34C    P8               9W / 220W |    409MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1276      G   /usr/lib/xorg/Xorg                          165MiB |
|    0   N/A  N/A      2068      G   /usr/bin/kwin_x11                             3MiB |
|    0   N/A  N/A      2183      G   /usr/bin/plasmashell                         78MiB |
|    0   N/A  N/A      2610      G   ...irefox/3941/usr/lib/firefox/firefox      143MiB |
+---------------------------------------------------------------------------------------+

答案1

最有可能的是,在编译模型时,大多数 RAM 都被用完了,并且计算机正在交换系统程序,这很可能不是 Nvidia 的问题。但由于交换速度很慢,因此会导致问题。此外,即使您使用完 Simulink,操作系统也不会将 SWAP 的内容移动到 RAM,因此冻结会持续到计算机重新启动为止。

如果是交换的情况,那么使用 zram-swap 可能是一种非常有效的解决方法。zram swap 压缩内存,并将其存储到 RAM 本身中(这比 SSD 还要快得多)。

首先,禁用交换。很可能您没有交换分区,但 Ubuntu 会自动创建交换文件。要禁用它,请打开/etc/fstab,然后注释掉 swapfile 行。

运行sudo nano /etc/fstab,并在以 开头的行开头添加#(注释掉)/swapfile

注释掉后,该行应如下所示

#/swapfile                                 none            swap    sw              0       0

然后按ctrl+x保存文件,然后按y确认保存。

要设置 zram-swap,请运行以下命令。

sudo apt install git
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh

之后重新启动,问题就消失了。

相关内容