Ubuntu 在加载时间歇性冻结

Ubuntu 在加载时间歇性冻结

我在 MSI GF63 笔记本电脑上安装了 Ubuntu。我的规格如下:Intel Core i5 9300H(四核)8 GB RAM nVidia GTX 1050 Intel 660p 512GB SSD(140GB + 15GB 交换用于 Linux)

我的系统在加载时会间歇性地冻结。如果我播放音乐、运行 nodeJS 和 Java 服务器、打开 Firefox 和 VS Code。系统会间歇性地冻结。我尝试让 htop 保持运行,以查看是否遇到任何瓶颈,但我发现在这些情况下 CPU 和内存都没有耗尽容量。通常音频不会滞后,音乐和通话大部分时间保持开启,尽管有时会略微卡顿,但鼠标不会移动,Alt + Tab 不起作用

我尝试按照建议安装 DRM KMS这里但我尝试切换到使用 X-Server 的 nVidia GPU,但无济于事,这也没有解决问题。由于我无法诊断任何瓶颈,所以我没有其他选择。

➜  ~ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        6.5G        125M        573M        988M        270M
Swap:           15G        1.0G         14G
➜  ~ sysctl vm.swappiness
vm.swappiness = 60
➜  ~ grep -i swap /etc/fstab
# swap was on /dev/nvme0n1p6 during installation
UUID=a0c6ff2a-8e8c-428a-8ab6-37ca22bdb822 none            swap    sw              0       0

Gnome 扩展命令返回以下内容:

➜ ls -al /usr/share/gnome-shell/extensions         
total 16
drwxr-xr-x 4 root root 4096 Feb  3 23:54 .
drwxr-xr-x 6 root root 4096 Feb  3 23:54 ..
drwxr-xr-x 3 root root 4096 Feb  3 23:54 [email protected]
drwxr-xr-x 3 root root 4096 Feb  3 23:54 [email protected]
➜ ls -al ~/.local/share/gnome-shell/extensions     
ls: cannot access '/home/maverick/.local/share/gnome-shell/extensions': No such file or directory

全新重启时的最佳输出

在没有过度负载的情况下观察到滞后时的最佳输出

free -h在没有过大负载的情况下观察到滞后时的输出

              total        used        free      shared  buff/cache   available
Mem:           7.6G        2.5G        2.6G        394M        2.5G        4.5G
Swap:           15G        199M         15G

输出lshw -C memory

sudo lshw -C memory
[sudo] password for maverick: 
  *-firmware                
       description: BIOS
       vendor: American Megatrends Inc.
       physical id: 1
       version: E16R3IMS.309
       date: 03/26/2020
       size: 64KiB
       capacity: 15MiB
       capabilities: pci upgrade shadowing cdboot bootselect edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer acpi usb biosbootspecification uefi
  *-memory
       description: System Memory
       physical id: 3b
       slot: System board or motherboard
       size: 8GiB
     *-bank:0
          description: SODIMM DDR4 Synchronous 2667 MHz (0.4 ns)
          product: M471A1K43CB1-CTD
          vendor: Samsung
          physical id: 0
          serial: 32E64524
          slot: ChannelA-DIMM0
          size: 8GiB
          width: 64 bits
          clock: 2667MHz (0.4ns)
     *-bank:1
          description: [empty]
          physical id: 1
          slot: ChannelB-DIMM0
  *-cache:0
       description: L1 cache
       physical id: 45
       slot: L1 Cache
       size: 256KiB
       capacity: 256KiB
       capabilities: synchronous internal write-back unified
       configuration: level=1
  *-cache:1
       description: L2 cache
       physical id: 46
       slot: L2 Cache
       size: 1MiB
       capacity: 1MiB
       capabilities: synchronous internal write-back unified
       configuration: level=2
  *-cache:2
       description: L3 cache
       physical id: 47
       slot: L3 Cache
       size: 8MiB
       capacity: 8MiB
       capabilities: synchronous internal write-back unified
       configuration: level=3
  *-memory UNCLAIMED
       description: RAM memory
       product: Cannon Lake PCH Shared SRAM
       vendor: Intel Corporation
       physical id: 14.2
       bus info: pci@0000:00:14.2
       version: 10
       width: 64 bits
       clock: 33MHz (30.3ns)
       capabilities: pm cap_list
       configuration: latency=0
       resources: memory:a441a000-a441bfff memory:a4422000-a4422fff

答案1

出现冻结和延迟的原因是内存不足,并且系统正在进行交换。您正在运行许多进程,在重新启动之前退出这些进程可以解决许多问题。内存和交换被回收,然后系统就不会冻结/延迟了。

数字版权管理

撤消您的 DRM KMS 修改,因为它们并未解决问题。

内存

您需要将 RAM 从 8G 增加到 16G。您总是希望以相等大小、匹配的 RAM SODIMM 对配置内存,以便系统可以利用内存交错的速度优势。要配置内存,请添加另一个具有这些规格的 8G RAM SODIMM...

 description: SODIMM DDR4 Synchronous 2667 MHz (0.4 ns)
  product: M471A1K43CB1-CTD
  vendor: Samsung
  serial: 32E64524
  size: 8GiB
  width: 64 bits

交换

增加 RAM 后,我们将最后进行交换更改。

您需要将交换分区从 16G 减少,然后我们将切换到 4G 的 /swapfile。完成后,您可以将 16G 交换分区分配给 / 或 /home 分区。

笔记:命令使用不当dd可能导致数据丢失。建议复制/粘贴。

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 16G RAM and 4G swap

在 /etc/fstab 中注释掉此行...

UUID=a0c6ff2a-8e8c-428a-8ab6-37ca22bdb822 none            swap    sw              0       0

将此行添加到 /etc/fstab...

/swapfile    none    swap    sw      0   0

重新启动。使用 验证 /swapfile 操作是否正确free -h

相关内容