Ubuntu 19.04 在写入磁盘 SSD 时冻结

Ubuntu 19.04 在写入磁盘 SSD 时冻结

我刚刚从 18.10 更新到 19.04(之前是从 Debian Stretch 更新的)。自升级以来,任何写入操作都会冻结整个系统(包括鼠标)3 秒或更长时间。这很奇怪,因为升级之前没有发生过这种情况,而且系统也一样。hdparm 报告读取速度为 517 MB/s,smart 没有显示任何错误:

sudo smartctl -a /dev/sdb
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-5.0.0-13-generic] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     LITEON L8H-128V2G-11 M.2 2280 128GB
Serial Number:    BR0RJW291CB0075GB0VE
Firmware Version: F87110C
User Capacity:    128.035.676.160 bytes [128 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      M.2
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sat Apr 20 11:47:56 2019 -03
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x02) Offline data collection activity
                    was completed without error.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
Total time to complete Offline 
data collection:        (    0) seconds.
Offline data collection
capabilities:            (0x11) SMART execute Offline immediate.
                    No Auto Offline data collection support.
                    Suspend Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    No Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   1) minutes.
Extended self-test routine
recommended polling time:    (  10) minutes.
SCT capabilities:          (0x003d) SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0003   100   100   000    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       681
 12 Power_Cycle_Count       0x0003   100   100   000    Pre-fail  Always       -       535
175 Program_Fail_Count_Chip 0x0003   100   100   000    Pre-fail  Always       -       0
176 Erase_Fail_Count_Chip   0x0003   100   100   000    Pre-fail  Always       -       0
177 Wear_Leveling_Count     0x0003   100   100   000    Pre-fail  Always       -       76
178 Used_Rsvd_Blk_Cnt_Chip  0x0003   100   100   000    Pre-fail  Always       -       0
179 Used_Rsvd_Blk_Cnt_Tot   0x0003   100   100   000    Pre-fail  Always       -       0
180 Unused_Rsvd_Blk_Cnt_Tot 0x0003   100   100   000    Pre-fail  Always       -       147
181 Program_Fail_Cnt_Total  0x0003   100   100   000    Pre-fail  Always       -       0
182 Erase_Fail_Count_Total  0x0003   100   100   000    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0003   100   100   000    Pre-fail  Always       -       0
195 Hardware_ECC_Recovered  0x0003   100   100   000    Pre-fail  Always       -       0
241 Total_LBAs_Written      0x0003   100   100   000    Pre-fail  Always       -       215371
242 Total_LBAs_Read         0x0003   100   100   000    Pre-fail  Always       -       68520

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%        58         -
# 2  Short offline       Completed without error       00%        58         -
# 3  Short offline       Completed without error       00%        58         -
# 4  Short offline       Completed without error       00%         0         -

Selective Self-tests/Logging not supported

fstab 具有 LVM 系统的常用选项:

cat /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>
/dev/mapper/euclides--vg-root / ext4    noatime,nodiratime,errors=remount-ro 0       1
# /boot was on /dev/sdb1 during installation
UUID=456b218a-f23c-4a35-8b39-ad416b03204f /boot           ext2    defaults        0       2
/dev/mapper/euclides--vg-home /home           ext4    defaults        0       2
/swapfile                                 none            swap    sw              0       0

对于发生了什么以及怎样解决这个问题您有什么想法吗?

编辑:为了测试,我从 Gnome 切换到 KDE,令人惊讶的是,延迟消失了。所以这可能不是我的 SSD 的问题,而是与 Gnome 有关的问题。

答案1

如果您在 Ubuntu 19.04 上拥有 nVIDIA 和 Gnome 3.32,请按照以下步骤操作: https://devtalk.nvidia.com/default/topic/957814/linux/prime-and-prime-synchronization/post/5323965/#5323965 添加变量如下:

sudo gedit /etc/environment
__GL_MaxFramesAllowed=1

在我的 Dell 7577 笔记本电脑(配备 nVIDIA GTX 1060 和 max-Q 设计)上,自从从 Ubuntu 18.10 升级到 19.04 以来,在启动 Thunderbird 或 Firefox 等应用程序时,会出现 2 秒的冻结。VLC 也会出现卡顿。使用上述变量后,我的 gnome 运行顺畅。

答案2

您可能遇到了此处描述的 APST 错误:
1.https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1678184
2.https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1689357

他们建议编辑 /etc/default/grub 并添加内核参数 nvme_core.default_ps_max_latency_us=xxx
在不同设备的 内核命令行中,xxx是不同的,如果它适用于0,您可以开始增加到(最大 5500)以允许更深的省电状态。编辑后和重启前,不要忘记运行 update-grub。无论如何,请阅读该帖子。

答案3

这里的情况完全一样,但不是 Ubuntu,而是将 Debian Stretch 更新为 Debian Buster。只需touch hello在终端中执行简单操作,gnome-shell 就会出现 3 秒冻结和高 CPU 使用率。

我已经在 Stretch 上使用该用户多年了,因此它有大量的文档和配置。

正如评论所建议的那样,我不想使用 KDE。因此,我所做的就是查看问题是否发生在新用户身上。对于新用户来说,完全没有问题。

因此,我的解决方案是:

  1. 每次会话都退出
  2. 以 root 身份登录控制台
  3. mv /home/myusualuser /home/myusualuser2
  4. mkdir /home/myusualuser
  5. chown myusualuser:myusualuser /home/myusualuser
  6. 然后以 mysualuser 身份再次登录

问题解决了。

现在我正在逐步移动我的文件。如果我找到导致问题的目录/文件/配置,我会更新此条目。

答案4

我确信我也遇到了同样的问题。以下是我注意到的一些事情:

  • 运行一段时间后,冻结情况会变得更糟(系统挂起时间会更长)
  • 通常在从暂停状态恢复、在 Firefox 中将下载的文件保存到桌面、关闭文件选择对话框(例如,上传电子邮件附件或打开文档)时会挂起几秒钟 - 无论我是否实际选择访问文件或取消对话框,它都会挂起
  • 经过一天的简单网络工作和几次挂起/恢复循环后,我的系统会感觉迟缓,这与我的硬件完全不符(全新系统、SSD、第 8 代 i7、16 GB RAM,文字处理和 Gmail 不会拖慢系统运行速度)
  • 从 18.10 升级到 19.04 之前,这个问题根本不存在

我现在已经升级到 19.10,问题不再那么明显。升级后,挂起时间立即减少到不到一秒,而不是几秒钟——我的系统似乎仍然有点挂起,但我并不介意。

但是,我也倾向于在桌面上保存大量文件——我们说的是任何时候至少有 60-200 个文件。其中许多文件很小,但有些文件很大(例如 Linux ISO)。凭直觉,我清理了桌面上的所有这些文件,现在挂起问题似乎完全消失了。我想,即使在 19.04 下,清理桌面也会有助于解决这个问题,但我不会回过头来验证这个假设。

我很好奇升级到 19.10 和/或清理桌面是否能帮助其他遇到类似问题的人。

相关内容