更新 1:我重新启动了这台服务器,将其安装到硬盘上的另一个 Ubuntu(也是 20.04 LTS),并hdparm -tT
显示超过 1 GB/s 的合理性能。现在我倾向于相信这是一个软件问题 - SSD 本身应该没问题。
更新 2:令人困惑的是,没有显示任何奇怪的磁盘活动,但磁盘仍然“非常活跃”。偶尔会随机出现atop
大量线程。z_wr_iss
这是一台安装在台式电脑上的 HP SSD EX920 1TB,作为个人服务器全天候运行。它运行良好,已经运行了一年多,但就在上周,突然,进程开始随机进入 D(不可中断睡眠)状态。此驱动器仅半满且定期修剪。
HDparm 测试结果太荒谬了(/dev/nvme0
有问题的是 SSD/dev/sda
还是另一个 HDD)(阐明:HDparm程序正常,没有故障,SSD本身性能错误,只有几MB/s):
root@ubuntu:~# hdparm -Tt /dev/nvme0n1
/dev/nvme0n1:
Timing cached reads: 15670 MB in 2.00 seconds = 7839.79 MB/sec
HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
Timing buffered disk reads: 8 MB in 3.61 seconds = 2.22 MB/sec
root@ubuntu:~# hdparm -Tt /dev/sda
/dev/sda:
Timing cached reads: 29014 MB in 2.00 seconds = 14525.03 MB/sec
Timing buffered disk reads: 454 MB in 3.01 seconds = 150.67 MB/sec
但是,SMART信息看起来还不错:
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-56-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number: HP SSD EX920 1TB
Serial Number: xxxxxxxxxxxxxxx
Firmware Version: SVN139B
PCI Vendor ID: 0x1dee
PCI Vendor Subsystem ID: 0x126f
IEEE OUI Identifier: 0x000000
Controller ID: 1
Number of Namespaces: 1
Namespace 1 Size/Capacity: 1,024,209,543,168 [1.02 TB]
Namespace 1 Formatted LBA Size: 512
Local Time is: Mon Dec 7 13:54:15 2020 CST
Firmware Updates (0x14): 2 Slots, no Reset required
Optional Admin Commands (0x0016): Format Frmw_DL Self_Test
Optional NVM Commands (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Maximum Data Transfer Size: 64 Pages
Warning Comp. Temp. Threshold: 70 Celsius
Critical Comp. Temp. Threshold: 80 Celsius
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 9.00W - - 0 0 0 0 0 0
1 + 4.60W - - 1 1 1 1 0 0
2 + 3.80W - - 2 2 2 2 0 0
3 - 0.0450W - - 3 3 3 3 2000 2000
4 - 0.0040W - - 4 4 4 4 6000 8000
Supported LBA Sizes (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
0 + 512 0 0
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 54 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 0%
Data Units Read: 31,682,199 [16.2 TB]
Data Units Written: 50,028,403 [25.6 TB]
Host Read Commands: 538,395,033
Host Write Commands: 1,279,795,487
Controller Busy Time: 20,480
Power Cycles: 1,012
Power On Hours: 7,879
Unsafe Shutdowns: 40
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 7
Critical Comp. Temperature Time: 0
Thermal Temp. 1 Transition Count: 8
Thermal Temp. 2 Transition Count: 2
Thermal Temp. 1 Total Time: 1118
Thermal Temp. 2 Total Time: 214
Error Information (NVMe Log 0x01, max 256 entries)
No Errors Logged
尝试访问hdparm -B
此 NVMe SSD 上的 APM 信息 () 仅显示“设备的 ioctl 不适当”。
此外,我还有不是发现任何损坏的数据(全部完好),但读/写速度却不合理地缓慢。
该驱动器有三个分区:一个 EFI 系统分区(几百 MiB)、一个作为根文件系统的 ext4 分区(128 GiB),其余部分归 ZFS 所有。hdparm -tT
在各个分区上运行会产生类似的结果(读取速度低于 10 MB/s)。所有这些分区都与 1 MiB 边界对齐。
我接下来该怎么做才能恢复此 SSD 的“正常”速度?还是我应该更换一个?
答案1
这是一个 nvme 驱动器,您可能需要安装 nvme-cli 来检查 APM 设置,以及 ioctl 不起作用的原因。z_wr_iss 线程是 Linux 上的 ZFS 写入线程。这些缓冲读取非常慢,也许您系统上的内存很慢?或者可能是 ZFS 调整问题。