我的显示器每 10-30 秒就会冻结约 1-3 秒。我在系统监视器中注意到 gnome-shell 倾向于累积内存。当它使用超过几 GB 时,我会使用 Alt-f2 -> r 重新启动它,这会将其内存使用量重置为 <200mb。这似乎在一段时间内有所帮助,但问题并没有完全消失。
我认为这是一个显示问题,因为每当播放动画或视频时,每次冻结后它都会跳转到应该连续播放的位置。当我在打字时发生冻结时,我会像平常一样继续打字,当冻结结束时,停顿期间输入的所有内容突然按应有的方式显示,没有丢失字符。
这个问题是在使用 Shotcut 编辑视频后出现的。我做了一些事情,导致它完全被锁定。硬盘指示灯亮起 100% 并一直保持这种状态。我认为我的内存已用尽(16GB),而且它正在交换,所以我花了一段时间来弄清楚它正在做什么。大约 10 分钟后,它一直没有停止,所以我硬重置了。显然,这并没有顺利解决,因为从那以后我就一直遇到这个故障。我试过重新安装 gnome-shell,但没有帮助。
我不知道该如何解决发生的问题。有人能帮忙吗?
free -h
total used free shared buff/cache available
Mem: 14G 5.2G 3.9G 401M 5.5G 8.7G
Swap: 33G 0B 33G
grep -i swap /etc/fstab
# removed swapfile to use ssd instead (2/26/19)
#/swapfile none swap sw 0 0
# swap space on ssd
/dev/disk/by-uuid/07c6e4a1-3379-454f-a727-e3fa386444da none swap sw 0 0
sysctl vm.swappiness
vm.swappiness = 60
ls -al ~/.local/share/gnome-shell/extensions
total 12
drwxrwxr-x 3 sauldog sauldog 4096 Feb 2 00:53 .
drwx------ 3 sauldog sauldog 4096 Feb 22 19:05 ..
drwxrwxr-x 6 sauldog sauldog 4096 Feb 2 00:53 [email protected]
ls -al /usr/share/gnome-shell/extensions
total 64
drwxr-xr-x 16 root root 4096 Jan 24 2019 .
drwxr-xr-x 6 root root 4096 Mar 10 2020 ..
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 native-window-placement@gnome-shell-extensions.gcampax.github.com
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com
drwxr-xr-x 3 root root 4096 Jul 24 2018 [email protected]
drwxr-xr-x 3 root root 4096 Jan 30 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
drwxr-xr-x 2 root root 4096 Jan 24 2019 [email protected]
答案1
交换
16G RAM 加上 33G 交换空间,有点疯狂。
我了解将交换移动到 SSD 上的分区,但我们应该切换回 SSD 上的 4G /swapfile。
我还有点担心在启动过程中 SSD 安装是否足够早以实际使用交换。使用free -h
或检查swapon -s
。
笔记:命令使用不当dd
可能导致数据丢失。建议复制/粘贴。
笔记: 改变/交换文件,如下所示,复制到 SSD 上的正确位置。即:/path_to/swapfile
在里面terminal
...
sudo swapoff -a # turn off swap
sudo rm -i /swapfile # remove old /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile # set proper file protections
sudo mkswap /swapfile # init /swapfile
sudo swapon /swapfile # turn on swap
free -h # confirm 4G RAM and 4G swap
确认 /etc/fstab 末尾的 /swapfile 行...并确认没有其他“swap”行...
要编辑,使用sudo -H gedit /etc/fstab
或sudo pico /etc/fstab
/swapfile none swap sw 0 0
reboot # reboot and verify operation
笔记:您现在可以删除 SSD 上的交换分区,并将未分配的空间添加回其他分区。
gnome 外壳
gnome-shell 中存在已知的内存泄漏错误,随着时间的推移,会导致其消耗大量内存。
短期修复是使用以下命令重新启动 gnome-shell...
ALT+ F2,然后r,然后ENTER
gnome-shell 扩展
太多不好的 gnome-shell 扩展可能会导致您的问题。
我特别讨厌的是,安装在 /usr/share/gnome-shell/extensions 中的那些对于所有用户来说都是系统范围的,而实际上应该放在 ~/.local/share/gnome-shell/extensions 中,这样它们对于当前用户来说就是本地的。
因此,请这样做以删除这些扩展...
sudo rm -r /usr/share/gnome-shell/extensions/*gcampax.github.com
然后重新启动 gnome-shell...
ALT+ F2,然后r,然后ENTER
更新#1:
我们发现 ~/.config/AppImageLauncher 配置文件经常更新。卸载 AppImageLauncher 后问题就解决了!