我的双启动 Ubuntu 18.04 和 Windows 笔记本电脑开始出现一些异常行为。我有一个用 ext4 分区和 NTFS 分区格式化的引导 SSD,以及一个完全为 NTFS 的数据硬盘。
SSD 在两个分区上的性能都很好。但是,硬盘驱动器的性能突然下降,并且表现非常异常。
在硬盘驱动器的根目录执行ls
或加载 Nautilus 大约需要五秒钟,但如果有其他东西在大量使用驱动器(例如 Steam),我已经看到它需要长达一分钟,甚至无限期挂起直到重新启动。Steam 在下载游戏或更新到驱动器时也会长时间崩溃或挂起。在最坏的情况下,我根本无法访问磁盘,ls
无限期地挂起,甚至在从侧栏选择磁盘时 GNOME 磁盘崩溃。
至关重要的是,Windows 上的性能绝对不错。驱动器的资源管理器列表几乎立即加载,dir
命令也是如此。无论这里发生什么,一定是我的 Linux 安装有问题。
在某一阶段,驱动器完全锁定,Steam 说磁盘上有损坏的数据。我重新启动到 Windows 并说同样的话。我chkdsk /f E:
在硬盘上运行(E:
Windows 中硬盘的盘符在哪里)。这发现了许多错误,修复了损坏,并进行了较小的性能改进,但它仍然异常缓慢。
SMART 表示驱动器的健康状况良好,并且 GNOME 磁盘自检标记没有错误。
我/etc/fstab
的是:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/nvme0n1p7 during installation
UUID=24348190-099b-4029-a8bd-13e1f91e396c / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=D816-4C34 /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/disk/by-uuid/3A8294518294138B /mnt/3A8294518294138B auto nosuid,nodev,nofail,x-gvfs-show,defaults,exec,uid=1000,gid=1000 0 0
...最后一行定义硬盘驱动器。(Windows SSD 分区不在这里;/media/aaron
如果需要,我会通过 Nautilus 将其安装到其中。)
如何诊断可能导致此问题的原因?
其他硬盘驱动器和闪存驱动器会发生这种情况,还是只有一个?对我来说,所有外部媒体(硬盘驱动器、闪存驱动器)都会导致 Ubuntu 18.04 速度变慢,但在 Windows 10 上运行良好。这种情况持续存在于两台机器上,跨越三个文件系统(UDF、NTFS 和 exFat)。
我发现有两个页面有助于解决这个问题: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1208993 https://lonesysadmin.net/2013/12/22/better-linux-磁盘缓存性能-vm-dirty_ratio/
解决方案:
我将这两行添加到
/etc/sysctl.conf
:跑了
sudo sysctl -p
。这里也提出了这个解决方案。这似乎是影响具有大量 RAM 的 64 位 Linux 机器的问题。如果您尝试这样做,请让我知道这是否(或不)适合您,以防这是一个新问题!