硬盘
硬盘
- 1: 硬盘概述
- 1.1: 硬盘速度
- 2: 硬盘相关的软件
- 2.1: CrystalDiskMark
- 2.2: AmorphousDiskMark
- 3: ITGZ USB4 40g M.2 nvme 移动硬盘盒
- 3.1: 评测参考资料
- 3.2: ITGZ USB4 40g M.2 nvme 移动硬盘盒
- 4: 移速4TN7000 4t硬盘
- 4.1: 评测参考资料
- 4.2: pcie3.0测试数据
- 4.3: pcie4.0测试数据
- 5: 爱国者p7000z 4t硬盘
- 6: 凯侠CD6 3.84t硬盘
- 6.1: 评测参考资料
- 6.2: pcie4.0测试数据
- 7: 三星pm953 960t硬盘
- 7.1: pcie3.0
- 8: 闪迪云盘eco 1.92t硬盘
- 8.1: pcie3.0
1 - 硬盘概述
1.1 - 硬盘速度
背景
在这个网站可以查询到各个硬盘型号的数据,其中就包含硬盘寿命/速度等信息。
https://www.techpowerup.com/ssd-specs/
类似的网站还有:
现有硬盘列表
这是目前已有的部分硬盘:
型号 | 接口规格 | 顺序读取 (MB/S) |
顺序写入 (MB/S) |
寿命 (TBW) |
缓存大小 (GB) |
缓外速度 (MB/S) |
随机读取 (1000 IOPS) |
随机写入 (1000 IOPS) |
---|---|---|---|---|---|---|---|---|
爱国者p7000z 4t | M2 2280 pcie4.0 x 4 |
7450 | 6500 | 8000 | 1800+ | 860 | 69 | |
隐速4TN7000 4t | M2 2280 pcie4.0 x 4 |
7450 | 6500 | 9000 | ||||
Kioxia CD6 3.84T | U2 pcie4.0 x 4 |
6200 | 2350 | 7008 | 2350 | 1000 | 60 | |
三星 PM983a 900G | M2 22110 pcie3.0 x 4 |
3100 | 1200 | 1366 | 1200 | 400 | 38 | |
三星 PM983 960G | M2 22110 pcie3.0 x 4 |
3000 | 1200 | 1366 | 1200 | 400 | 38 | |
三星 PM963 960G | M2 22110 pcie3.0 x 4 |
1800 | 930 | 1366 | 930 | 350 | 30 | |
三星 PM953 960G | M2 22110 pcie3.0 x 4 |
1000 | 870 | 870 | 240 | 19 |
pcie3.0 硬盘参考
考虑到还有部分x99机器在使用中,他们只有pcie3.0,但是通道足够多。因此调研了一下pcie3.0 下缓外写入速度比较快的ssd硬盘,发现如下型号不错:
型号 | 接口规格 | 顺序读取 (MB/S) |
顺序写入 (MB/S) |
寿命 (TBW) |
缓存大小 (GB) |
缓外速度 (MB/S) |
随机读取 (10000 IOPS) |
随机写入 (10000 IOPS) |
---|---|---|---|---|---|---|---|---|
海力士 PE9010 3.84T | M2 22110 pcie3.0 x 4 |
3500 | 2100 | 1000 | 800 | 83 | ||
三星 PM1725A 3.2g | pcie3.0 x 4 | 3500 | 2800 | 3000 | 800 | 180 | ||
三星 PM1725A 1.6g | pcie3.0 x 8 | 5400 | 2000 |
2 - 硬盘相关的软件
2.2 - AmorphousDiskMark
下载地址
通过 apple store 下载安装:
https://apps.apple.com/us/app/amorphousdiskmark/id1168254295?mt=12
介绍
以 MB/s 和 IOPS 为单位衡量存储读/写性能。
AmorphousDiskMark 以 MB/s 和 IOPS 为单位测量存储读/写性能。
-
顺序 1 MiB 块读/写测量,队列深度=1、2、4、8、16、32、64、128、256、512 或 1024
-
随机序列 4 KiB 块读/写测量,队列
-
深度=1、2、4、8、16、32、64、128、256、512 或 1024
-
顺序 1 MiB 块读/写测量
-
随机序列 4 KiB 块读/写测量值
-
主窗口中的读/写 MB/s 或 IOPS 分数
-
工具提示中的读/写 MB/s 和 IOPS 分数
-
测量数据值:随机或零
-
测量大小:16MB、32MB、64MB、128MB、256MB、512MB、1GiB、2GiB、4GiB、8GiB、16GiB、32GiB 或 64GiB
-
测量间隔:0 秒、…、10 分钟
-
测量持续时间限制:无、5 秒、……、1 分钟。
CrystalDiskMark 的作者允许在本应用程序中使用相同或类似的用户界面。
典型测试结果
m1 max 内置硬盘
5次每次1GB设置下的速度测试情况:
9次每次64GB设置下的速度测试情况:
外置硬盘盒接pcie4.0 ssd
- 硬盘盒:ITGZ USB4 40g M.2 nvme 移动硬盘盒
- 硬盘:移速4TN7000 pcie4.0 4T ssd
- 笔记本:macbook pro m1 max
- 数据线:hagibis 海备思双typec全功能usb4数据线,13厘米长度
5次每次1GB设置下的速度测试情况:
9次每次64GB设置下的速度测试情况:
3 - ITGZ USB4 40g M.2 nvme 移动硬盘盒
3.1 - 评测参考资料
评测资料
- ITGZ ASM2464硬盘盒简单对比评测: 有很详细的测试数据
- ITGZ USB4移动硬盘盒 (ASM2464主控 nvme单协议版)测评: 注意硬盘文件格式和启用写入缓存
3.2 - ITGZ USB4 40g M.2 nvme 移动硬盘盒
背景
- 硬盘盒:ITGZ USB4 40g M.2 nvme 移动硬盘盒
- 硬盘:移速4TN7000 pcie4.0 4T ssd
- 笔记本:macbook pro m1 max
- 数据线1:hagibis 海备思双typec全功能usb4数据线,13厘米长度
- 数据线2: HP惠普雷电4数据线0.7米
测试
AmorphousDiskMark 测试
5次每次1GB设置下的速度测试情况(数据线1,笔记本左边接口):
5次每次1GB设置下的速度测试情况(数据线2,笔记本左边接口):
9次每次64GB设置下的速度测试情况(数据线1,笔记本左边接口):
9次每次64GB设置下的速度测试情况(数据线2,笔记本左边接口):
看来是雷电数据线的影响?
又重新测试了一下,还是用海备思的短线,接刚才的雷电口,很奇怪速度又正常了,基本和hp的线成绩完全一致(数据线1,笔记本右边接口):
想起来第一次测试短线时用的是笔记本左边的雷电口,这次是换成了m1 max 笔记本的右边的雷电口。一次再次测试,插在左边的雷电口上。结果速度又回到了第一次(比较慢的那一次)的结果(数据线1,笔记本坐边接口):
重复测试了左边的另外一个雷电口(数据线1,笔记本左边的另一个接口):
4 - 移速4TN7000 4t硬盘
4.2 - pcie3.0测试数据
硬盘型号 移速4TN7000,容量 4T , m2 接口 nvme 协议, pcie 4.0 x4, 规格为 2280。
技嘉x99 ud4 + ubuntu server
主板为技嘉x99 ud4, 通过pcie拆分卡得到了一个 m2 接口 pcie 4.0 x4。
安装 ubuntu 20.04 系统,5.4 内核, ext4 格式。
基本信息
$ lspci | grep Volatile
03:00.0 Non-Volatile memory controller: Device 1e4b:1602 (rev 01)
磁盘数据:
$ sudo fdisk -l
Disk /dev/nvme0n1: 3.74 TiB, 4096805658624 bytes, 8001573552 sectors
Disk model: YSSDHB-4TN7000
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DA503D82-D785-4A47-A701-504DB1ED256C
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 8001573518 8001571471 3.7T Linux filesystem
测试分区为 nvme0n1p1,分区信息:
$ sudo hdparm /dev/nvme0n1p1
/dev/nvme0n1p1:
readonly = 0 (off)
readahead = 256 (on)
geometry = 3907017/64/32, sectors = 8001571471, start = 2048
速度测试
硬盘写入速度:
$ sudo dd if=/dev/zero of=/data/temp/test1.img bs=1G count=10 oflag=dsync
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 11.6533 s, 921 MB/s
只有 0.9 GB,低的离谱,虽然主板限制只能跑pcie 3.0 x4 32G的带宽, 但按说写入速度应该是3-4GB级别,就算打折扣也不应该这么低。参考爱国者p7000z的速度是 1.8GB/秒。
读取速度为 6.6GB/S,这个还行,应该是缓存:
$ dd if=/data/temp/test1.img of=/dev/null bs=8M
1280+0 records in
1280+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 1.62146 s, 6.6 GB/s
持续写入 100G的文件,还是 0.9 GB/秒:
$ sudo dd if=/dev/zero of=/data/temp/test1.img bs=1G count=100 oflag=dsync
100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 118.151 s, 909 MB/s
硬盘读取速度(直接以 8M 的 block size 读取 100GB 大文件):
$ dd if=/data/temp/test1.img of=/dev/null bs=8M
12800+0 records in
12800+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 37.7508 s, 2.8 GB/s
2.8 GB的速度有点低,对比爱国者p7000z 是 4.0GB/s 。
持续写入 1T的文件,还是 0.9 GB/秒,看来缓外速度就真的只有900M了:
$ sudo dd if=/dev/zero of=/data/temp/test-1t.img bs=1G count=1000 oflag=dsync
1000+0 records in
1000+0 records out
1073741824000 bytes (1.1 TB, 1000 GiB) copied, 1221.81 s, 879 MB/s
硬盘读取速度(以 8M 的 block size 读取 1 TB 大文件):
dd if=/data/temp/test-1t.img of=/dev/null bs=8M
128000+0 records in
128000+0 records out
1073741824000 bytes (1.1 TB, 1000 GiB) copied, 368.641 s, 2.9 GB/s
看来 2.8/2.9G 就是 pcie3 下的无缓存极限速度了。
4.3 - pcie4.0测试数据
硬盘型号 移速4TN7000,容量 4T , m2 接口 nvme 协议, pcie 4.0 x4, 规格为 2280。
华硕z690 + linux mint
主板为华硕z690 ddr4, pcie 4.0 x4。
安装 linux mint系统,5.15 内核, ext4 格式。
基本信息
$ lspci | grep Volatile
08:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. Device 1602 (rev 01)
磁盘数据:
$ sudo fdisk -l
Disk /dev/nvme1n1: 3.73 TiB, 4096805658624 bytes, 8001573552 sectors
Disk model: YSSDHB-4TN7000
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DA503D82-D785-4A47-A701-504DB1ED256C
Device Start End Sectors Size Type
/dev/nvme1n1p1 2048 8001573518 8001571471 3.7T Linux filesystem
测试分区为 nvme1n1p1,分区信息:
$ sudo hdparm /dev/nvme1n1p1
/dev/nvme1n1p1:
readonly = 0 (off)
readahead = 256 (on)
geometry = 3907017/64/32, sectors = 8001571471, start = 2048
DD命令速度测试
写入1G文件的速度:
$ sudo dd if=/dev/zero of=/data/temp/test-1g.img bs=1G count=1 oflag=dsync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.651223 s, 1.6 GB/s
读取1G文件的速度为 20GB/S,这应该是缓存的原因:
$ dd if=/data/temp/test-1g.img of=/dev/null bs=8M
1280+0 records in
1280+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 0.518808 s, 20.7 GB/s
写入10G文件的速度:
$ sudo dd if=/dev/zero of=/data/temp/test-10g.img bs=1G count=10 oflag=dsync
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 5.1595 s, 2.1 GB/s
速度10G文件的速度为 20GB/S,这应该还是缓存的原因:
$ dd if=/data/temp/test-10g.img of=/dev/null bs=8M
1280+0 records in
1280+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 0.518808 s, 20.7 GB/s
写入100G文件的速度:
$ sudo dd if=/dev/zero of=/data/temp/test-100g.img bs=1G count=100 oflag=dsync
100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 53.9242 s, 2.0 GB/s
读取100G文件的速度为 5.0 GB/s,这终于不是缓存速度了:
$ dd if=/data/temp/test-100g.img of=/dev/null bs=8M
12800+0 records in
12800+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 21.2991 s, 5.0 GB/s
写入1T文件的速度:
$ sudo dd if=/dev/zero of=/data/temp/test-1t.img bs=1G count=1024 oflag=dsync
1024+0 records in
1024+0 records out
1099511627776 bytes (1.1 TB, 1.0 TiB) copied, 566.778 s, 1.9 GB/s
读取1T文件的速度为 5.0 GB/s:
$ dd if=/data/temp/test-1t.img of=/dev/null bs=8M
131072+0 records in
131072+0 records out
1099511627776 bytes (1.1 TB, 1.0 TiB) copied, 215.191 s, 5.1 GB/s
小结: 用 dd 命令测试出来的速度大概是读取 5GB/s,写入 1.9-2.0GB/s。这个速度尤其是写入速度和宣称的读取7000M写入6000M差距很多。
disk工具
linux mint 自带的 disk 工具,选择硬盘后,可以进行 disk benchmark。
这里测试出来的速度是读取 6.9GB/s,写入 5.3GB/s,就非常接近宣称的读取7000M/写入6000M。
华硕z690 + windows 10
主板为华硕z690 ddr4, pcie 4.0 x4。
AS SSD Benchmark 测试结果
crystalDiskMark 测试结果
1GB:
64GB:
5 - 爱国者p7000z 4t硬盘
5.1 - z690主板安装windows并以pcie4.0运行
AS SSD Bench
5.2 - z690主板安装ubuntu并以pcie4.0运行
硬盘型号 爱国者p7000z,容量 4T , m2 接口 nvme 协议, pcie 4.0 x4, 规格为 2280。
华硕z690 + ubuntu 20.04
主板为华硕 z690-p d4, m2 接口 pcie 4.0 x4。
安装 ubuntu 20.04 系统,5.4 内核, ext4 格式。
基本信息
$ lspci | grep Volatile
02:00.0 Non-Volatile memory controller: Device 1e4b:1602 (rev 01)
磁盘数据:
$ sudo fdisk -l
Disk /dev/nvme0n1: 3.74 TiB, 4096805658624 bytes, 8001573552 sectors
Disk model: aigo NVMe SSD P7000Z 4TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EE02EE97-D530-4107-9D83-6A15532005BA
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System
/dev/nvme0n1p2 1050624 1074792447 1073741824 512G Linux filesystem
/dev/nvme0n1p3 1074792448 1179650047 104857600 50G Linux filesystem
/dev/nvme0n1p4 1179650048 8001570815 6821920768 3.2T Linux filesystem
测试分区为 nvme0n1p4,分区信息:
$ sudo hdparm /dev/nvme0n1p4
/dev/nvme0n1p4:
HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
readonly = 0 (off)
readahead = 256 (on)
HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
geometry = 3331016/64/32, sectors = 6821920768, start = 1179650048
速度测试
硬盘写入速度:
$ dd if=/dev/zero of=/mnt/data/share/temp/test1.img bs=1G count=10 oflag=dsync
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 5.96539 s, 1.8 GB/s
只有 1.4 GB,有点低的,p7000z 是 pcie 4.0,按说写入速度应该是5-6GB级别。
持续写入 100G的文件,还是 1.8 GB/秒:
$ dd if=/dev/zero of=/mnt/data/share/temp/test1.img bs=1G count=100 oflag=dsync
100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 60.8423 s, 1.8 GB/s
硬盘读取速度(直接以 8M 的 block size 读取 100GB 大文件):
$ dd if=/mnt/data/share/temp/test1.img of=/dev/null bs=8M
12800+0 records in
12800+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 26.7172 s, 4.0 GB/s
4.0GB/s 的速度只能说差强人意,凑合吧。
5.3 - [归档]修复在pve8.0下无法使用的问题
归档原因: pve 升级到8.2之后就没有这个问题了。
问题描述
618 大促时低价从京东购买的爱国者 p7000z 4t pcie4.0 SSD 硬盘,发现在 pve 8.0 下无法使用,安装时报错:
kernel: nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0
问题描述参考这里:
https://www.chiphell.com/forum.php?mod=redirect&goto=findpost&ptid=2524660&pid=52962287
我遇到的问题和他一样,报错相同,而且我只有一块硬盘也是如此报错。
解决方案
参考chh的帖子:
https://www.chiphell.com/thread-2524660-1-1.html
下载补丁,上传到 pve 所在机器,然后安装:
dpkg -i *.deb
安装过程如下:
dpkg: warning: downgrading linux-tools-6.2 from 6.2.16-6 to 6.2.16-4
(Reading database ... 153375 files and directories currently installed.)
Preparing to unpack linux-tools-6.2_6.2.16-4_amd64.deb ...
Unpacking linux-tools-6.2 (6.2.16-4) over (6.2.16-6) ...
dpkg: warning: downgrading linux-tools-6.2-dbgsym from 6.2.16-6 to 6.2.16-4
Preparing to unpack linux-tools-6.2-dbgsym_6.2.16-4_amd64.deb ...
Unpacking linux-tools-6.2-dbgsym (6.2.16-4) over (6.2.16-6) ...
dpkg: warning: downgrading pve-headers-6.2.16-4-pve from 6.2.16-5 to 6.2.16-4
Preparing to unpack pve-headers-6.2.16-4-pve_6.2.16-4_amd64.deb ...
Unpacking pve-headers-6.2.16-4-pve (6.2.16-4) over (6.2.16-5) ...
dpkg: warning: downgrading pve-kernel-6.2.16-4-pve from 6.2.16-5 to 6.2.16-4
Preparing to unpack pve-kernel-6.2.16-4-pve_6.2.16-4_amd64.deb ...
Unpacking pve-kernel-6.2.16-4-pve (6.2.16-4) over (6.2.16-5) ...
Preparing to unpack pve-kernel-libc-dev_6.2.16-4_amd64.deb ...
Unpacking pve-kernel-libc-dev (6.2.16-4) over (6.2.16-4) ...
Setting up linux-tools-6.2 (6.2.16-4) ...
Setting up linux-tools-6.2-dbgsym (6.2.16-4) ...
Setting up pve-headers-6.2.16-4-pve (6.2.16-4) ...
Setting up pve-kernel-6.2.16-4-pve (6.2.16-4) ...
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 6.2.16-4-pve /boot/vmlinuz-6.2.16-4-pve
dkms: running auto installation service for kernel 6.2.16-4-pve.
Deprecated feature: REMAKE_INITRD (/var/lib/dkms/r8125/9.011.01/source/dkms.conf)
Deprecated feature: REMAKE_INITRD (/var/lib/dkms/r8125/9.011.01/source/dkms.conf)
Deprecated feature: REMAKE_INITRD (/var/lib/dkms/r8125/9.011.01/source/dkms.conf)
dkms: autoinstall for kernel: 6.2.16-4-pve.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.2.16-4-pve /boot/vmlinuz-6.2.16-4-pve
update-initramfs: Generating /boot/initrd.img-6.2.16-4-pve
有几个包是被降级的,所以之后再 apt update 时就要小心不要升级这几个包
- linux-tools-6.2-dbgsym
- pve-headers-6.2.16-4-pve
- pve-kernel-6.2.16-4-pve
备注: 这个方案只能是先用其他硬盘做系统盘安装好 pve 8.0, 然后打补丁,再安装 p7000z 4t 硬盘做从盘使用。
识别情况
打好补丁之后,p7000z 4t 硬盘就可以正常被 pve 8.0 识别了。执行
lspci
可以看到:
01:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]
02:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1602 (rev 01)
04:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
09:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
02:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1602 (rev 01)
就是这块 p7000z 硬盘了。
执行
fdisk -l
可以看到硬盘信息:
Disk /dev/nvme1n1: 3.73 TiB, 4096805658624 bytes, 8001573552 sectors
Disk model: aigo NVMe SSD P7000Z 4TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BE883E7B-55A1-45F2-A8EF-589159CEF00D
Device Start End Sectors Size Type
/dev/nvme1n1p1 34 2047 2014 1007K BIOS boot
/dev/nvme1n1p2 2048 2099199 2097152 1G EFI System
/dev/nvme1n1p3 2099200 8001573518 7999474319 3.7T Linux LVM
6 - 凯侠CD6 3.84t硬盘
6.2 - pcie4.0测试数据
硬盘型号 凯侠cd6,容量 3.84T , u2 接口 nvme 协议, pcie 4.0 x4。
华硕z690 + linux mint
主板为华硕z690 ddr4, pcie 4.0 x4。
安装 linux mint系统,5.15 内核, ext4 格式。
基本信息
$ lspci | grep Volatile
02:00.0 Non-Volatile memory controller: KIOXIA Corporation NVMe SSD Controller Cx6 (rev 01)
磁盘数据:
$ sudo fdisk -l
Disk /dev/nvme0n1: 3.49 TiB, 3840755982336 bytes, 7501476528 sectors
Disk model: KCD61LUL3T84
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: FBEFBE02-9843-4FEC-8B2C-C50B5EAD8069
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 206847 204800 100M EFI System
/dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved
/dev/nvme0n1p3 239616 1047643943 1047404328 499.4G Microsoft basic data
/dev/nvme0n1p4 1047644160 1048813567 1169408 571M Windows recovery environment
/dev/nvme0n1p5 1048815616 2097391615 1048576000 500G Microsoft basic data
/dev/nvme0n1p6 2097391616 7340271615 5242880000 2.4T Microsoft basic data
/dev/nvme0n1p7 7340271616 7501475839 161204224 76.9G Microsoft basic data
测试分区为 nvme0n1p3,分区信息:
$ sudo hdparm /dev/nvme0n1p3
/dev/nvme0n1p3:
readonly = 0 (off)
readahead = 256 (on)
geometry = 511427/64/32, sectors = 1047404328, start = 239616
DD命令速度测试
写入1G文件的速度:
$ sudo dd if=/dev/zero of=/data/temp/test-1g.img bs=1G count=1 oflag=dsync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.903675 s, 1.2 GB/s
读取1G文件的速度为 15GB/S,这应该是缓存的原因:
$ dd if=/data/temp/test-1g.img of=/dev/null bs=8M
128+0 records in
128+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.0711245 s, 15.1 GB/s
写入10G文件的速度:
$ sudo dd if=/dev/zero of=/data/temp/test-10g.img bs=1G count=10 oflag=dsync
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 7.30757 s, 1.5 GB/s
速度10G文件的速度为 18GB/S,这应该还是缓存的原因:
$ dd if=/data/temp/test-10g.img of=/dev/null bs=8M
1280+0 records in
1280+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 0.577161 s, 18.6 GB/s
写入100G文件的速度:
$ sudo dd if=/dev/zero of=/data/temp/test-100g.img bs=1G count=100 oflag=dsync
100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 72.0129 s, 1.5 GB/s
读取100G文件的速度为 4.0 GB/s,这终于不是缓存速度了:
$ dd if=/data/temp/test-100g.img of=/dev/null bs=8M
12800+0 records in
12800+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 26.902 s, 4.0 GB/s
小结: 用 dd 命令测试出来的速度大概是读取 4GB/s,写入 1.5GB/s。这个速度尤其是写入速度和宣称的读取6500M写入2300M差距很多。
disk工具
linux mint 自带的 disk 工具,选择硬盘后,可以进行 disk benchmark。
这里测试出来的速度是读取 5.6GB/s,写入 2.4GB/s,就非常接近宣称的读取6500M/写入2300M。
华硕z690 + windows10
主板为华硕z690 ddr4, pcie 4.0 x4。
AS SSD Benchmark 测试数据
CrystalDiskMark 测试数据
附录:linux ntfs格式的速度问题
结论:ntfs格式的硬盘在 linux 下性能会下降的非常严重,大概只有正常的10%
nvme0n1p6 这个分区是 ntfs 格式。
nvme0n1p6 硬盘写入速度:
$ dd if=/dev/zero of=/media/d/temp/test1.img bs=1G count=10 oflag=dsync
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 29.3955 s, 365 MB/s
只有 365 兆,低的有点出乎意外,应该是 linux 读写 ntfs 格式有速度问题。
nvme0n1p6 硬盘读取速度:
$ dd if=/media/d/temp/test1.img of=/dev/null bs=8k
1310720+0 records in
1310720+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 1.91374 s, 5.6 GB/s
5.6GB 的速度有点偏高,估计还是缓存。尝试读取 100 GB大小的文件:
$ dd if=/dev/zero of=/media/d/temp/test1.img bs=1G count=100 oflag=dsync
100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 242.065 s, 444 MB/s
444 MB/s 每秒的速度和前面 ext4 下的 4.3 GB/s 相比,nfts 格式会让磁盘性能下降到 10% ,实在恐怖。所以还是要避免在 linux 下使用 ntfs 格式。
7 - 三星pm953 960t硬盘
7.1 - pcie3.0
华硕z690-p + windows10
主板为华硕z690-p d4。
8 - 闪迪云盘eco 1.92t硬盘
8.1 - pcie3.0
华硕z690-p + windows10
主板为华硕z690-p d4。
AS SSD Benchmark
下拉选择 10GB 大小