扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
五、调整硬盘参数
使用Hdparm工具可以调整IDE硬盘性能,它设计时专门考虑了使用UDMA驱动器。在缺省情况下,Linux使用是最安全的,但是设置访问IDE驱动器是最慢的。缺省模式没有利用UDMA可能的最快的性能。
使用Hdparm工具,通过激活下面的特性可以显著地改善性能:
◆ 32位支持 缺省设置是16位;
◆ 多部分访问 缺省设置是每次中断单部分传送。
注意:在使用Hdparm之前,确保对系统已经做了完全的备份。使用Hdparm改变IDE参数,如果出错可能会引起驱动器上全部数据的丢失。
Hdparm可以提供关于硬盘的大量信息。打开一个终端窗口,输入下面命令获取系统中第一个IDE驱动器的信息(改变设备名获取其它IDE驱动器的信息):
hdparm -v /dev/had
上面命令显示出当系统启动时从驱动器获得的信息,包括驱动器操作在16位或32位模式(I/O Support)下,是否为多部分访问(Multcount)。关于磁盘驱动器的更详细信息的显示可使用-i参数。
Hdparm也可以测试驱动器传输速率。输入命令测试系统中第一个IDE驱动器:
hdparm -Tt /dev/hda
此测试可测量驱动器直接读和高速缓冲存储器读的速度。结果是一个优化的“最好的事例”数字。改变驱动器设置,激活32位传输,输入下面的命令:
hdparm -c3 /dev/hda
-c3参数激活32位支持,使用-c0可以取消它。-c1参数也可激活32位支持并使用更少的内存开销,但是在很多驱动器下它不工作。
大多数新IDE驱动器支持多部分传输,但是Linux缺省设置为单部分传输。注意:这个设置在一些驱动器上,激活多部分传输能引起文件系统的完全崩溃。这个问题大多数发生在较老的驱动器上。输入下面的命令激活多部分传输:
hdparm -m16 /dev/hda
-m16参数激活16部分传输。除了西部数据的驱动器外,大多数驱动器设置为16或32部分是最合适的。西部数据的驱动器缓冲区小,当设置大于8部分时性能将显著下降。对西部数据驱动器来说,设置为4部分是最合适的。
激活多部分访问能够减少CPU负载30%~50%,同时可以增加数据传输速率到50%。使用-m0参数可以取消多部分传输。
Hdparm还有许多选项可设置硬盘驱动器,在此不详述。
六、使用软件RAID
RAID廉价驱动器的冗余阵列,也可以改善磁盘驱动器性能和容量。Linux支持软件RAID和硬件RAID。软件RAID嵌入在Linux内核中,比硬件RAID花费要少得多。软件RAID的惟一花费就是购买系统中的磁盘,但是软件RAID不能使硬件RAID的性能增强。硬件RAID使用特殊设计的硬件,控制系统的多个磁盘。硬件RAID可能是昂贵的,但是得到的性能改善与之相匹配。RAID的基本思想是组合多个小的、廉价的磁盘驱动器成为一个磁盘驱动器阵列,提供与大型计算机中单个大驱动器相同的性能级别。RAID驱动器阵列对于计算机来说像单独一个驱动器,它也可以使用并行处理。磁盘读写在RAID磁盘阵列的并行数据通路上同时进行。
IBM公司在加利福尼亚大学发起一项研究,得到RAID级别的一个最初定义。现在有六个已定义的RAID级别,如下所示。
RAID 0:级别0只是数据带。在级别0中,数据被拆分到多于一个的驱动器,结果是更高的数据吞吐量。这是RAID的最快和最有效形式。但是,在这个级别没有数据镜像,所以在阵列中任何磁盘的失败将引起所有数据的丢失。
RAID 1:级别1是完全磁盘镜像。在独立的磁盘上创建和支持数据两份拷贝。级别1阵列与一个驱动器相比读速度快、写速度慢,但是如果任一个驱动器错误,不会有数据丢失。这是最昂贵的RAID级别,因为每个磁盘需要第二个磁盘做它的镜像。这个级别提供最好的数据安全。
RAID 2:级别2设想用于没有内嵌错误检测的驱动器。因为所有的SCSI驱动器支持内嵌错误检测,这个级别已过时,基本上没用了。Linux不使用这个级别。
RAID 3:级别3是一个有奇偶校验磁盘的磁盘带。存储奇偶校验信息到一个独立的驱动器上,允许恢复任何单个驱动器上的错误。Linux不支持这个级别。
RAID 4:级别4是拥有一个奇偶校验磁盘的大块带。奇偶校验信息意味着任何一个磁盘失败数据可以被恢复。级别4阵列的读性能非常好,写速度比较慢,因为奇偶校验数据必须每次更新。
RAID 5:级别5与级别4相似,但是它将奇偶校验信息分布到多个驱动器中。这样提高了磁盘写速度。它每兆字节的花费与级别4相同,提高了高水平数据保护下的高速随机性能,是使用最广泛的RAID系统。
软件RAID是级别0,它使多个硬盘看起来像一个磁盘,但是速度比任何单个磁盘快得多,因为驱动器被并行访问。软件RAID可以用IDE或SCSI控制器,也可以使用任何磁盘组合。
七、配置内核参数
通过调整系统内核参数改善性能有时是很明显的。如果你决定要这样做一定要小心,因为系统内核的改变可能优化系统,也可能引起系统崩溃。
注意:不要在一个正在使用的系统上改变内核参数,因为有系统崩溃的危险。因此,必须在一个没有人使用的系统上进行测试。设置一个测试机器,对系统进行测试,确保所有工作正常。
Tweak内存性能
在Linux中,可以Tweak系统内存。如果遇到内存不足错误或者系统是用于网络的,可以调整内存分配设置。
内存一般以每页4千字节分配。调整“空白页”设置,可以在性能上有显著的改善。打开终端窗口,输入下面的命令查看系统的当前设置:
cat /proc/sys/vm/freepages
这样将获得三个数字,就像下面这样:
128 256 384
这些是最小空白页、空白页低和空白页高设置。这些值在启动时决定。最小设置是系统中内存数量的两倍;低设置是内存数量的4倍;高设置是系统内存的6倍;自由内存不能小于最小空白页数。
如果空白页数目低于空白页高设置,则交换(使用磁盘空间分配到交换文件)开始。当达到空白页低设置时,密集型交换开始。
增加空白页高设置有时可以改善整体性能,比如试试增加高设置到1MB,用echo命令可以调整这个设置。使用样本设置,输入这个命令增加空白页高设置到1MB:
echo "128 256 1024" > /proc/sys/vm/freepages
注意:当系统还没有被使用时测试这个设置,以确保在做任何调整时监视系统性能。这样可以确定哪个设置对系统是最好的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者