Fed*_*eli 16 ssd disk sector-size io
GSmartControl和我使用过的任何其他命令行工具(如fdisk
, smartctl
, cat /sys/block/sd*/queue/hw_sector_size
, cat /sys/block/sd*/queue/physical_block_size
)对我的两个磁盘报告相同:
Sector Size: 512 bytes logical/physical
Run Code Online (Sandbox Code Playgroud)
这是默认的 Ubuntu 18.10(后来升级到 19.04)安装。但是,stat -f
两个磁盘上的命令都报告:
Block size: 4096 Fundamental block size: 4096
Run Code Online (Sandbox Code Playgroud)
我的两个磁盘都是 SSD,而 AFAIK SSD 磁盘需要 4K 的扇区大小。这是可以的还是我错过了什么?stat
(=4K)返回的信息是否确保操作系统始终以4K 的倍数向磁盘发送 IO,并且这些块永远不会跨越 4K 边界(IO 块将始终与 4K 对齐)?
请注意以下输出(sdb2
是我的根分区,sda
是我的/home
磁盘):
# fdisk -l /dev/sd?
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: SanDisk SDSSDH35
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdb: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Disk model: ADATA SU800NS38
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: xxxx....
Device Start End Sectors Size Type
/dev/sdb1 2048 1050623 1048576 512M EFI System
/dev/sdb2 1050624 500117503 499066880 238G Linux filesystem
# df / /home
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb2 244568380 17799136 214276188 8% /
/dev/sda 479670976 129685112 325550152 29% /home
Run Code Online (Sandbox Code Playgroud)
hey*_*ema 10
在过去,512 字节扇区是磁盘的标准。该系统过去一次只能读/写一个扇区,这是旧硬盘驱动器所能做到的最好的。
现在,由于现代驱动器如此密集、如此快速、如此智能,一次仅读取/写入一个扇区确实会降低总吞吐量。
诀窍是……您如何加快总吞吐量,但仍保持与旧/标准磁盘子系统的兼容性?您创建了一个由 8 个 512 字节物理扇区组成的 4096 块大小。4096 现在是到/从磁盘的最小读/写传输,但它在兼容的 512 字节卡盘中传递给操作系统。
这意味着即使系统只需要一个 512 字节的信息扇区,驱动器也会读取 8 个 512 字节的扇区来获取它。然而,如果系统需要接下来的七个扇区,它已经读取了它们,因此不需要发生磁盘 I/O……因此总吞吐量的速度增加。
现代操作系统可以充分利用现代驱动器的原生 4K 块大小。
根据维基百科,“高级格式 (AF) 是用于在磁盘驱动器中存储数据的任何磁盘扇区格式,每个扇区超过 512、520 或 528 字节,例如高级格式驱动器 (AFD) 的 4096 字节扇区。” 高级格式 (AF) 是一种磁盘格式,本身使用 4,096 字节而不是 512 字节的扇区大小。为了保持与旧系统的兼容性,AF 磁盘模拟 512 字节的扇区大小。
我得到的结果与您在两个 SSD 上运行(其中是字母)得到的结果相同。我在两个 SSD 上运行也得到了与您相同的结果。这两款SSD在安装时都会被操作系统自动识别,并且需要零配置,因此看来您获得的数据是块大小和扇区大小的默认设置。sudo fdisk -l /dev/sdX
X
stat -f
smartctl
归档时间: |
|
查看次数: |
16084 次 |
最近记录: |