200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 固态硬盘对于linux提升 对提升Linux下固态硬盘使用率的探讨

固态硬盘对于linux提升 对提升Linux下固态硬盘使用率的探讨

时间:2021-03-29 05:31:28

相关推荐

固态硬盘对于linux提升 对提升Linux下固态硬盘使用率的探讨

固态硬盘(SSD)不是普通的硬盘。文件在固态硬盘中的处理方式与地普通硬盘中的方式完全不同,如果安装Linux不同版本时没有把这些差异考虑进去,就很难充分发挥固态硬盘的优势,而且很可能在使用一段时间后造成严重的性能下降。

修改默认的固态硬盘(SSD)柱面大小

提升Linux下固态硬盘的使用率,在安装Linux操作系统前就应该做相关工作。系统会先在磁盘上创建分区,通常创建的分区包含固定数量的柱面,而默认情况下,每个柱面由16065512个字节的扇区组成。

现在的问题是,当默认柱面空间大小被完全使用后,固态硬盘就不能发挥最佳性能。因为要固态硬盘读这个操作需要使用4KB的字节块,而固态硬盘控制器删除操作则需要512KB的字节块。问题是,有了通常用于Linux上的默认分区,分区的开始没必要也是一个4KB新分区的开始。结果,一次读取或写入操作也许需要SSD设备上的两个不同的区块,这也减缓了SSD磁盘的性能。

为了避免这种问题,可以采用fdisk方式来创建分区,配置三个选项来指定使用柱面及拍面大小。具体的命令如下:

fdisk -H 32 -C 32 –c

这确保了分区均衡的方式兼容SSD写入和删除区块。一些最新的Linux版本默认情况下已经考虑了这个问题,以FedoraCore 14为例,它的第一个分区都会自动以第2048个扇区为开始,这就意味着写入和删除字节区块始终在同一个柱面上。

配置固态硬盘(SSD)的Ext 4

接着需要关注的就是文件系统。想要优化文件系统删除字节区块的效率,就必须确保小于512K的文件分布在不同的删除字节区块上。要做到这一点,必须确保在创建可扩展文件系统时指定了需要使用的条带的宽度和幅度。这些值在页面中指定,默认大小为4KB.要创建一个最佳的可扩展文件系统,应该使用如下命令:

mkfs.ext4 -E stride=128,stripe-width=128 /dev/sda1

如果要修改现有的文件系统的参数,可以使用tune2fs实用程序:

tune2fs -E stride=128,stripe-width=128 /dev/sda1

配置固态硬盘(SSD)的I/O调度程序

优化的第三个部分涉及到I/O调度程序。该模块是一个决定如何处理I/O请求的核心组件。默认情况下就是非常公平的排队,对于普通的磁盘驱动器来说,这是很好的方案,但对于以期限调度为优势的固态硬盘来说,这并不是最好的。

如果你想在系统中对所有磁盘采用期限调度,可以在内核加载时把elevator=deadline这句话加入到系统引导管理器(GURB)中;如果你只是想针对某一个磁盘,就应该在rc.local文件中加入类似如下实例的一句话,那么每次当系统重启,期限调度就会应用到指定的磁盘。如下实例将会对/dev/sdb磁盘采用期限调度。

echo deadline >/sys/block/sda/queue/scheduler

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。