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

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

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

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

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

fdisk -H 32 -C 32 –c

这确保了分区均衡的方式兼容SSD写入和删除区块。一些最新的Linux版本默认情况下已经考虑了这个问题,以Fedora Core 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

清理固态硬盘(SSD)中的数据块

最后一个重要的步骤称为“清理”,该操作可以确保在删除文件后相应的数据块真正清空,然后在创建新的文件时才能有可用的数据块。如果没有清理操作,一旦数据块空间填满,固态硬盘的性能就会下降。如果使用丢弃挂载选项,当文件删除后,数据块也会被相应地清除,这样可以显着提高固态硬盘的性能。2.6.33 以上的内核已经支持清理操作。

要启用清理功能,需要在固态硬盘的/etc/fstab配置中为挂载文件系统添加丢弃选项。示例中的命令为挂载的根逻辑卷启用了清理操作。

/dev/system/root/ext4 discard,errors=remount-ro,noatime 0 1

该命令同时也添加了Noatime选项,该选项保证了文件的访问时间不会因为每次读取而更新,从而降低对文件系统的写入次数。

在fasab配置文件中完成对文件系统的这些修改后,重启计算机,或者通知文件系统重新读取其配置,然后使用/etc/fstab文件中包含的mount -o命令重新安装每个文件系统。

【免责声明】本文仅代表作者本人观点,与和讯网无关。和讯网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

固态硬盘linux提升,固态硬盘在Linux系统下提升使用率妙方相关推荐

  1. linux usb 批量传输文件,一种Linux系统下提升usb批量传输速度的方法及系统与流程...

    本发明涉及通信传输技术领域,具体地说是一种linux系统下提升usb批量传输速度的方法及系统. 背景技术: linux系统访问usb设备有两种方式:编写内核驱动模块ko和在用户空间编写程序,通过内核提 ...

  2. Linux(CentOS 7_x64位)系统下安装RDkit(修正)

    Linux(CentOS 7_x64位)系统下安装RDkit(修正) 一.RDKit简介 Linux(CentOS 7_x64位)系统下安装RDkit点击打开链接 前面写的一篇CentOS 7下安装R ...

  3. win7 制作linux u盘安装教程,win7系统下u盘安装linux centos7,详细步骤,亲测

    近段时间想在自己的win7电脑上安装个linux双系统,于是下载了linux centos7这个版本,折腾了两天,网上的各种帖子看了不少,也遇到很多问题,幸运的是终于装成功了,下面就说明一下安装的整个 ...

  4. Linux(CentOS 7_x64位)系统下安装GaussView5

    GaussView GaussView是一个专门设计与高斯配套使用的软件,其主要用途有两个:构建高斯的输入文件和以图的形式显示高斯计算的结果.除了可以自己构建输入文件外,GaussView还可读入Ch ...

  5. xp下添加linux启动,如何在windows xp系统下安装linux???

    我刚刚想开始学linux,请教如何安装! | 我今天才安装了Redhat 9.0. LINUX不可能在WINDOWS下安装. 比较简单的方法是先在XP下用PQMAGIC分好区 boot  ext3 1 ...

  6. linux中安装多个mysql_liunx系统下安装多个MySql数据库并做主从配置

    在网上搜索了很多资料,都没有看到像样的文档,思路不是很清晰,对第一次安装的朋友来说较为困难,经过长时间的安装尝试和查询网上零碎的知识点,终于成功的完成Linux系统下多MySql数据库安装和主从配置, ...

  7. linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库

    linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...

  8. linux安装文泉字体,Linux_Linux系统下的Emacs字体配置,安装步骤:   1、安装文泉 - phpStudy...

    Linux系统下的Emacs字体配置 安装步骤: 1.安装文泉驿字体,这个在F8中已经缺省安装了.如果要手动安装的话,这样:yum -y install wqy-bitmap-fonts 2.执行fc ...

  9. linux定时情况root mail,Linux_Linux系统下mail命令使用,我经常用root帐号登录RHEL5,在 - phpStudy...

    Linux系统下mail命令使用 我经常用root帐号登录RHEL5,在终端经常出现: You have new mail in /var/spool/mail/root 这肯定是系统给root超级管 ...

  10. linux 存储映射lun 给_LINUX系统下添加映射存储LUN

    LINUX系统下添加映射存储LUN(无需重启) 背景:Oracle rac环境 添加新实例,重新划分存储空间,从存储映射新的LUN. 问题:映射后,linux操作系统无法识别新的LUN,不能重启系统, ...

最新文章

  1. druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)——分析框架如hive或者redshift(MPPDB)、ES等...
  2. 【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )
  3. C++ 类的保护继承与构造函数
  4. 建议大家使用Java 8 的日期、时间,而非java.util.Date
  5. open,write,read与fopen,fwrite,fread的区别
  6. 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)(转)
  7. 世界坐标系到观察坐标系的变换步骤_shader观察(像机)矩阵变换的一己之见
  8. 计算机控制直流电机闭环调速实验报告,电气工程及其自动化电力系统实训报告-基于PLC的直流电机调速实验.pdf...
  9. zabbix监控tomcat服务
  10. 深入理解android 博客,深入理解Android中ViewGroup
  11. 专科程序员,学历可能会成为发展障碍
  12. 虚拟机搭建与镜像文件
  13. Caller-saved register and Callee-saved register
  14. android 带箭头的框,带有工具提示箭头的Android PopupWindow
  15. ubuntu增加swap交换空间
  16. 对于操作系统32位amp;64位寻址地址的理解
  17. 最新江苏安全员B考试单选练习题库
  18. python和scre_前端大牛们都学过哪些东西?
  19. 表白套路计算机公式,数学公式的超酷表白
  20. NativeActivity

热门文章

  1. 什么是前端编程中的骨,肉,魂
  2. 健身记录--每日更新
  3. 美满电子-88E1111PHY
  4. ArcGIS\QGIS无插件加载(无偏移)MapBox高清影像图
  5. java电商项目搭建-------分布式文件存储系统(fastDFS)
  6. EDK2开发中error C2220: 警告被视为错误 - 没有生成“object”文件的解决方法!
  7. 软件集成测试采用,集成测试的组成以及流程
  8. 《软件方法》读后感-三年前端开发的思考,如何有效地阅读需求?
  9. 关于销售订单挑库发放卡接口以及发运处理卡接口的处理方式
  10. 积木式移动互联网App Hybrid框架-modular