Ubuntu:20.10-桌面
内核:5.8.0-40-通用
设备:三星 980 pro 500G
$ cat /sys/block/nvme1n1/queue/scheduler
[none] mq-deadline
这是否意味着我使用的是“Linux I/O 调度程序”而不是“Linux Multi-Queue Block IO Queuing Mechanism (blk-mq)”。如果是,我该如何切换到 blkmq?
Ubuntu:20.10-桌面
内核:5.8.0-40-通用
设备:三星 980 pro 500G
$ cat /sys/block/nvme1n1/queue/scheduler
[none] mq-deadline
这是否意味着我使用的是“Linux I/O 调度程序”而不是“Linux Multi-Queue Block IO Queuing Mechanism (blk-mq)”。如果是,我该如何切换到 blkmq?
我想将 SSD 的性能重置为开箱即用的性能。而且我发现使用标题中显示的这些命令后,性能可能会或可能不会重置。
在任何trim
操作之前,运行:
fio --filename=/dev/nvme1n1 --direct=1 --rw=write --bs=4k --size=5G --numjobs=16 --iodepth=32 --group_reporting --name=test
在 Samsung NVMe 980 pro 500G 上显示带宽为~1100MB/s
,然后我修剪设备以恢复性能:
nvme format -s1 /dev/nvme1n1
fio
上面的命令显示带宽仍然是 ~1100MB/s
fstrim -v /mnt/mount-point-of-nvme1n1p1
fio
上面的命令显示带宽提高到 ~1800MB/s
我知道nvme format
-s1 和hdparm --security-erase
是低级擦除操作,它擦除设备中的所有数据(分别为 nvme 和 sata),同时fstrim
保留用户数据。此 ssd 中的数据已满 30% 。那么其中一个原因可能是因为这些 30%-full-data 在设备中布局不好,使得操作后性能没有恢复trim
?这里可能会错过什么fstrim
?
谢谢!
由于 SSD 具有写入放大功能,因此我想将 SSD 重置为初始的开箱即用性能。大多数教程都是针对 SATA SSD ( hdparm --secure-erase
),我想知道如何擦除 NVMe SSD 的分区(也许使用nvme
命令?)。
还有一个问题:有dd if=/dev/zero of=/dev/nvme0n1
帮助吗?还是有fio --filename=/dev/nvme1n1 --direct=1 --buffered=0 --rw=trim --bs=4k --size=100G --numjobs=16 --iodepth=32 --group_reporting --name=trim
帮助?
谢谢!
我知道hdparm -W0 /dev/sata-ssd
可以禁用 SATA SSD 的磁盘缓存,但这不适用于我的 NVMe SSD(即三星 980 pro)。也许某些选项nvme
可以做到,但我找不到它。
我怎样才能做到这一点?
谢谢。
我只想将我的 nvme-ssd 挂载到/mnt/ssd-high-NVMe
$ sudo rm -rf /mnt/ssd-high-NVMe
$ sudo rm -rf /mnt/ssd-high-NVME
$ sudo mkdir /mnt/ssd-high-NVMe
$ sudo mkdir /mnt/ssd-high-NVME
$ ls -lh
drwxr-xr-x 2 root root 4.0K Jan 20 22:58 ssd-high-NVMe
drwxr-xr-x 2 root root 4.0K Jan 20 22:42 ssd-high-NVME
$ sudo mount /dev/nvme1n1p1 /mnt/ssd-high-NVMe
$ df -h
tmpfs 6.3G 2.3M 6.3G 1% /run
/dev/sdb3 110G 45G 59G 44% /
tmpfs 32G 95M 32G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/sdb2 512M 7.8M 505M 2% /boot/efi
tmpfs 6.3G 180K 6.3G 1% /run/user/1000
$ sudo dmesg
[43391.301050] EXT4-fs (nvme1n1p1): mounted filesystem with ordered data mode. Opts: (null)
$ sudo e2fsck /dev/nvme1n1p1
e2fsck 1.45.6 (20-Mar-2020)
NVMe-SSD:No problem,22967/30531584 files,34978829/122096384 blocks
$ sudo nvme smart-log /dev/nvme1n1p1
Smart Log for NVME device:nvme1n1p1 namespace-id:ffffffff
critical_warning : 0
temperature : 35 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 0%
endurance group critical warning summary: 0
data_units_read : 1,665,126
data_units_written : 2,815,185
host_read_commands : 53,190,654
host_write_commands : 83,501,433
controller_busy_time : 368
power_cycles : 27
power_on_hours : 25
unsafe_shutdowns : 11
media_errors : 0
num_err_log_entries : 0
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1 : 35 C
Temperature Sensor 2 : 40 C
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0
$ sudo vim /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/sda3 during installation
UUID=49b55adc-d909-470d-8a6b-87401c8ae63d / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda2 during installation
UUID=5624-9AA0 /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/disk/by-uuid/6a4437ab-8812-484d-b799-4fd007593db4 /mnt/ssd-high-NVME auto rw,nosuid,nodev,relatime,uhelper=udisks2,x-gvfs-show 0 0
但是,当我将挂载点更改为另一个目录(将“ssd-high-NVMe”设置为“ssd-high-NVME”)时,一切正常。
$ sudo mount /dev/nvme1n1p1 /mnt/ssd-high-NVME
$ df -h
tmpfs 6.3G 2.3M 6.3G 1% /run
/dev/sdb3 110G 45G 59G 44% /
tmpfs 32G 95M 32G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/sdb2 512M 7.8M 505M 2% /boot/efi
tmpfs 6.3G 180K 6.3G 1% /run/user/1000
/dev/nvme1n1p1 458G 126G 312G 29% /mnt/ssd-high-NVME <------ SUCCESS!
有一件事可能很重要:我以前曾用作/mnt/ssd-high-NVMe
挂载点/dev/nvme1n1p1
,并且我在原始文件上做了一些坏事,/dev/nvme1n1p1
并在它仍然挂载时使其损坏。之后,我完全重新格式化/dev/nvme1n1p1
(我确信磁盘是健康的)。我认为我的问题与此有关。但是如何解决呢?我应该进一步提供什么信息?
谢谢!
$ sudo gdisk -l /dev/nvme1n1
GPT fdisk (gdisk) version 1.0.5
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
Disk /dev/nvme1n1: 976773168 sectors, 465.8 GiB
Model: Samsung SSD 980 PRO 500GB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 54BF3843-FF55-41C5-8FD5-25BF87B4DEEA
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2029 sectors (1014.5 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 976773119 465.8 GiB 8300 Linux filesystem