我遇到了性能硬盘问题,因此我决定在输入时查看我的驱动器:
sudo fdisk -l -u=sectors
我有以下输出:
Disk /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
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: CD70CA3C-993F-4B7A-AFEE-188CA351B87E
Device Start End Sectors Size Type
/dev/sda1 2048 923647 921600 450M Windows recovery environment
/dev/sda2 923648 1128447 204800 100M EFI System
/dev/sda3 1128448 1161215 32768 16M Microsoft reserved
/dev/sda4 1161216 1514156670 1512995455 721,5G Microsoft basic data
/dev/sda5 1514158080 1941178367 427020288 203,6G Linux filesystem
/dev/sda6 1941178368 1953523711 12345344 5,9G Linux swap
我觉得这一行看起来很奇怪:
Sector size (logical/physical): 512 bytes / 4096 bytes
逻辑扇区大小与物理扇区大小不同是正常现象吗?我可以更改吗?这会提高硬盘的性能吗?
答案1
逻辑扇区大小与物理大小不同是正常的吗?
这是正常的。
旧式传统硬盘的逻辑扇区和物理扇区大小均为512 B
。多年来,无需区分它们。
在这种情况下,每个物理读取或写入操作都涉及一个或多个完整512 B
扇区。操作系统及其低级工具也使用磁盘固件512 B
作为逻辑单元进行通信。每个人都习惯了这个标准。
如今,磁盘的逻辑和物理扇区大小均为4096 B
。引入这些磁盘是为了提高效率和减少开销。不幸的是,旧版软件通常认为磁盘有512 B
扇区,没有其他东西。新磁盘(称为4K 原生) 与旧软件不兼容。
现在有了具有512 B
逻辑4096 B
物理扇区的磁盘。它们受益于增加的物理扇区大小,但仍允许任何软件以旧方式进行通信。它们被称为高级格式 512e, 或者512 个仿真驱动器;您的磁盘就是其中之一。两个扇区大小之间的所有转换均由磁盘固件内部完成。
我的硬盘是否存在扇区大小问题?
尽管您的驱动器能够“谈论”512 B
扇区,但最佳做法是尽可能一次性使用全部扇区4096 B
。您的驱动器报告此值,希望足够智能的软件能够采取相应的行动。
要做的一件事是将分区与物理扇区边界对齐。在您的例子中,每个物理扇区有八个逻辑扇区。正确的对齐要求输出Start
列中的每个数字fdisk
都能被八整除 - 并且您的所有数字都是这样,所以没问题。如果其中任何一个不是,fdisk
应该会警告您Partition <number> does not start on physical sector boundary.
您的每个文件系统都应使用块大小4096 B
或其整数倍。也许可以检查一下。
我可以改变这一点吗[逻辑扇区大小与物理大小不同]?这会提高硬盘的性能吗?
我不认为你能。(但看看这– 我认为提到的选项是一个例外,而不是规则。)
如果将物理扇区大小更改为512 B
(如果可能的话),则需要进行低级重新格式化。这还会使您的磁盘看起来更小。请参阅比较表在维基百科上–4096 B
扇区需要 4211 字节,而八个512 B
扇区需要 4616 字节。磁盘仍可以在这样的时间内读取其全部容量,但由于用户数据较少,因此性能会降低。
将逻辑扇区大小更改为4096 B
(假设是新固件)与配置良好的相比,性能提升微乎其微甚至没有512e设置。我认为您的所有分区和文件系统都需要从头开始创建。您还会遇到由于某些旧工具(如果有)而导致的不兼容问题。它们现在可能以非最佳性能运行,但至少它们不会破坏任何东西。
我建议阅读已经链接维基百科文章以及答案已经链接的问题。您可以了解很多有关引擎盖下发生的事情。