Linux
我的 HDD 的物理扇區大小是多少?
執行時我有一個 1 TB 的硬碟:
# fdisk -l
我得到的其他細節包括:
Model: ATA HGST HTS721010A9 (scsi) Disk /dev/sda: 1000GB Sector size (logical/physical): 512B/4096B Partition Table: gpt
我認為邏輯扇區大小是作業系統的 I/O 扇區大小。但是,它顯示物理扇區是4096B。我不確定兩者有什麼區別。為什麼核心將 512B 扇區用於 I/O 而不是 4096B 扇區,可能是出於兼容性原因?這不會減慢 I/O 操作嗎?
是的,兼容性是原因。硬碟移動到 4096 的扇區大小以更有效地利用磁碟區域。所有軟體都無法在一夜之間轉換為使用更大的扇區大小,因此 4k 磁碟仍然顯示為具有 512 字節的邏輯扇區。如果磁碟訪問未與 4096 物理扇區大小對齊,它會減慢 I/O。如果您注意對齊,那真的沒關係,因為讀取和寫入請求一次完成多個扇區。請注意,邏輯扇區大小是由磁碟規定的,核心必須適應它,而不是相反。