平 心
在Windows系统中,磁盘碎片是一个常见的问题,如果不注意,系统性能可能被降低。Linux使用第二扩展文件系统(ext2),它以一种完全不同的方式处理文件存储。Linux没有Windows系统中发现的那种问题,这使得许多人认为磁盘碎片化根本不是一个问题。但是,这是不正确的。
所有的文件系统随着时间的推移都趋向于碎片化。Linux文件系统减少了碎片化,但是并没有消除。由于它不经常出现,所以对于一个单用户的工作站来说,可能根本不是问题。然而在繁忙的服务器中,随着时间的推移,文件碎片化将降低硬盘性能,硬盘性能只有从硬盘读出或写入数据时才能注意到。下面是优化Linux系统硬盘性能的一些具体措施。
一、清理磁盘
这种方法看上去很简单:清理磁盘驱动器,删除不需要的文件,清除所有需要被保存但将不被使用的文件。如果可能的话,清除多余的目录。并减少子目录的数目。这些建议似乎显而易见,但是你会惊讶地发现,每个磁盘上确实积累了非常多的垃圾。释放磁盘空间可以帮助系统更好地工作。
二、整理磁盘碎片
Linux系统上的磁盘碎片整理程序与Windows98或wIndows-NT系统中的磁盘碎片整理程序不同。Windows98引入FAT32文件系统,虽然运行Windows98不必转换为FAT32文件系统。windows可以被设置为使用FAT或一个叫NTFS的增强文件系统。所有这些文件系统以本质上相同的方式处理文件存储。
Linux最好的整理磁盘碎片的方法是做一个完全的备份,重新格式化分区,然后从备份恢复文件。当文件被存储时,它们将被写到连续的块中,它们不会碎片化。这是一个大工作,可能对于像/usr之类不经常改变的程序分区是不必要的,但是它可以在一个多用户系统的/home分区产生奇迹。它所花费的时间与WindowsNT服务器磁盘碎片整理花费的时间大致上相同。
如果硬盘性能仍不令人满意,还有许多其他的步骤可以考虑,但是任何包含升级或购买新设备的硬件解决方案可能会是昂贵的。
三、从lDE升级到SCSI
如果你的硬盘是一个IDE驱动器,可以通过升级到SCSI驱动器获得更好的整体性能。因为lDE控制器必须访问CPU,CPU和磁盘密集型操作可能变得非常缓慢。SCSl控制器不用通过CPU处理读写。当lDE驱动器在读或写时,用户可能会因为CPU周期被lDE驱动器占用而抱怨系统的缓慢。
标准的SCSI控制器不能比标准的lDE控制器更快地读写数据,但是一些非常快的“UItraWlde"SCS[控制器能够使读写速度有一个真正的飞跃。
ElDE和UDMA控制器是非常快的lDE控制器。新的UDMA控制器能够接近SCSI控制器的速度。UDMA控制器的顶级速度是猝发速度,但持续传输的速度明显慢得多。lDE控制器包括UDMA,是嵌入在驱动器本身的。不需要购买一个控制器,只要购买一个驱动器,它就包含了控制器,可以获得UDMA性能。
磁盘驱动器经常忽视的一个方面是磁盘本身的速度。磁盘的速度以rpm为单位给出,它代表每分钟旋转多少次。rpm越大,磁盘速度也越快。如果你有这方面的预算,大多数服务器系统厂商可提供7500rpm甚至1 0000rpm的SCSl磁盘。标准SCSl和lDE磁盘提供5400rpm速度。