我知道我的华硕笔记本电脑不是最适合 Linux 的。我在所有以前版本的 Ubuntu 上都遇到过问题,但只有挂起/恢复。我被暂停后随机无法恢复。
但是,从 20.04 开始,情况变得更糟。我的 Gnome 会话将在两到三天内结束。现在,当我在家工作时,我每天都会做同样的事情:Firefox 用于个人事务,Chrome 用于与工作相关的工作,Citrix Workspace 用于远程访问,Nautilus,有时还有 LibreOffice。
新登录后一切看起来都很好。几个小时后,鼠标和键盘的响应会变慢。一两天后,我会遇到长达 10 到 20 分钟的周期性死机。硬盘驱动器指示灯一直亮着,看起来好像正在发生严重的交换。如果我能够切换到虚拟终端,我会看到 Firefox 或 Chrome 正在消耗 CPU。但逐渐 gnome-shell 开始超过 CPU 消耗。最后,会话完全冻结,我的笔记本电脑不再在网络上注册。
为了排除硬件问题,我花了两周时间在笔记本电脑上使用 Windows 10。我没有任何问题。只是一次合上盖子并没有让笔记本电脑进入睡眠状态。在浏览器中打开大量页面会减慢响应速度,但无论如何,Windows 上的响应时间总是可以接受的。
如何解决问题?
我添加了所需的信息
$ free -h
total used free shared buff/cache available
Mem: 7.6Gi 4.7Gi 712Mi 1.6Gi 2.2Gi 1.0Gi
Swap: 2.0Gi 1.6Gi 427Mi
$ sysctl vm.swappiness
vm.swappiness = 60
$ ls -al ~/.local/share/gnome-shell/extensions
total 16
drwxrwxr-x 4 yury yury 4096 May 1 17:34 .
drwx------ 4 yury yury 4096 Sep 12 14:03 ..
drwxrwxr-x 3 yury yury 4096 May 9 23:10 glassygnome@emiapwil
drwxr-xr-x 2 yury yury 4096 Jun 29 21:30 lockkeys@fawtytoo
$ ls -al /usr/share/gnome-shell/extensions
total 20
drwxr-xr-x 5 root root 4096 Jan 9 2020 .
drwxr-xr-x 7 root root 4096 Aug 18 09:54 ..
drwxr-xr-x 2 root root 4096 Aug 18 09:54 desktop-icons@csoriano
drwxr-xr-x 3 root root 4096 May 8 19:00 [email protected]
drwxr-xr-x 3 root root 4096 Aug 29 14:57 [email protected]
$ sudo dmidecode -s bios-version
X556UQ.315
它是原装华硕 X556U 笔记本电脑。笔记本电脑有两个显卡:
$ lspci | grep -i --color 'vga\|3d\|2d'
00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
以前我总是遇到 nouveau 问题,所以我安装了适当的 NVIDIA 驱动程序。
很可能你有一个交换问题。
交换
让我们将您的 /swapfile 从 2G 增加到 4G。
注意:命令使用不当
dd
会导致数据丢失。建议复制/粘贴。在 /etc/fstab 中确认这一行...并确认没有其他“交换”行...
BIOS
华硕 X556U
您的 BIOS 版本为 X556UQ.315。
从 2019 年 6 月 6 日起,有一个更新的 BIOS 版本 316,可以在此处下载。
注意:确认我有适合您的型号的正确网页#。
注意:在更新 BIOS 之前做好备份。
GNOME 外壳扩展
很好。你没有大量的 GNOME Shell 扩展。
你有:
如果您仍然遇到问题,请尝试禁用这些功能,看看情况是否有所改善。
更新#1:
在 ~/Desktop 上发现了一个无效的 .desktop 文件。删除此文件后,问题不再出现。
最后,我找到了 Gnome 崩溃的根本原因。这是由 NVIDIA 驱动程序引起的。在我发现它之前,我遇到了几个导致 Gnome 崩溃的常规 gnome shell 错误。桌面上的无效桌面文件只是导致 Gnome 比其他错误更频繁地崩溃。我在网络浏览器中也遇到了缓慢的问题。对这些错误的调查指出了 NVIDIA 驱动程序错误。更新到 20.04 后,我确实安装了 NVIDIA 驱动程序。事实上,我的笔记本电脑有两个显卡:板载 Intel 和专用 GeForce 940MX。Nouveau 从未使用过 GeForce 940MX,也无法停止显卡。我总是偶尔遇到暂停/恢复甚至关机问题,但我从未遇到过工作 GUI 会话的问题。20.04更新后,我只能从虚拟终端暂停/恢复,并安装了 NVIDIA 驱动程序。所有挂起/恢复问题都已解决,但由于 Gnome 崩溃和浏览器速度慢,我陷入了噩梦般的循环。NVIDIA 驱动程序也不适用于 GeForce 940MX。所以我停止了 NVIDIA 卡,我所有的错误都消失了。Gnome-shell 不占用处理器并停止崩溃。我什至在桌面上恢复了错误的桌面文件,它不再引起任何问题。电池续航时间明显更长。具有讽刺意味的是,禁用(停止)NVIDIA 驱动程序不支持的 NVIDIA 卡的最佳方法是安装 NVIDIA 驱动程序。通过驱动程序,NVIDIA 提供了 nvidia-settings 实用程序(NVIDIA X 服务器设置),它允许我们通过选择板载卡作为要使用的 GPU 来停止 NVIDIA 卡。所有挂起/恢复问题都已解决,但由于 Gnome 崩溃和浏览器速度慢,我陷入了噩梦般的循环。NVIDIA 驱动程序也不适用于 GeForce 940MX。所以我停止了 NVIDIA 卡,我所有的错误都消失了。Gnome-shell 不占用处理器并停止崩溃。我什至在桌面上恢复了错误的桌面文件,它不再引起任何问题。电池续航时间明显更长。具有讽刺意味的是,禁用(停止)NVIDIA 驱动程序不支持的 NVIDIA 卡的最佳方法是安装 NVIDIA 驱动程序。通过驱动程序,NVIDIA 提供了 nvidia-settings 实用程序(NVIDIA X 服务器设置),它允许我们通过选择板载卡作为要使用的 GPU 来停止 NVIDIA 卡。所有挂起/恢复问题都已解决,但由于 Gnome 崩溃和浏览器速度慢,我陷入了噩梦般的循环。NVIDIA 驱动程序也不适用于 GeForce 940MX。所以我停止了 NVIDIA 卡,我所有的错误都消失了。Gnome-shell 不占用处理器并停止崩溃。我什至在桌面上恢复了错误的桌面文件,它不再引起任何问题。电池续航时间明显更长。具有讽刺意味的是,禁用(停止)NVIDIA 驱动程序不支持的 NVIDIA 卡的最佳方法是安装 NVIDIA 驱动程序。通过驱动程序,NVIDIA 提供了 nvidia-settings 实用程序(NVIDIA X 服务器设置),它允许我们通过选择板载卡作为要使用的 GPU 来停止 NVIDIA 卡。NVIDIA 驱动程序也不适用于 GeForce 940MX。所以我停止了 NVIDIA 卡,我所有的错误都消失了。Gnome-shell 不占用处理器并停止崩溃。我什至在桌面上恢复了错误的桌面文件,它不再引起任何问题。电池续航时间明显更长。具有讽刺意味的是,禁用(停止)NVIDIA 驱动程序不支持的 NVIDIA 卡的最佳方法是安装 NVIDIA 驱动程序。通过驱动程序,NVIDIA 提供了 nvidia-settings 实用程序(NVIDIA X 服务器设置),它允许我们通过选择板载卡作为要使用的 GPU 来停止 NVIDIA 卡。NVIDIA 驱动程序也不适用于 GeForce 940MX。所以我停止了 NVIDIA 卡,我所有的错误都消失了。Gnome-shell 不占用处理器并停止崩溃。我什至在桌面上恢复了错误的桌面文件,它不再引起任何问题。电池续航时间明显更长。具有讽刺意味的是,禁用(停止)NVIDIA 驱动程序不支持的 NVIDIA 卡的最佳方法是安装 NVIDIA 驱动程序。通过驱动程序,NVIDIA 提供了 nvidia-settings 实用程序(NVIDIA X 服务器设置),它允许我们通过选择板载卡作为要使用的 GPU 来停止 NVIDIA 卡。电池续航时间明显更长。具有讽刺意味的是,禁用(停止)NVIDIA 驱动程序不支持的 NVIDIA 卡的最佳方法是安装 NVIDIA 驱动程序。通过驱动程序,NVIDIA 提供了 nvidia-settings 实用程序(NVIDIA X 服务器设置),它允许我们通过选择板载卡作为要使用的 GPU 来停止 NVIDIA 卡。电池续航时间明显更长。具有讽刺意味的是,禁用(停止)NVIDIA 驱动程序不支持的 NVIDIA 卡的最佳方法是安装 NVIDIA 驱动程序。通过驱动程序,NVIDIA 提供了 nvidia-settings 实用程序(NVIDIA X 服务器设置),它允许我们通过选择板载卡作为要使用的 GPU 来停止 NVIDIA 卡。