在HP DX7400上安装了RHEL 5.5,安装过程中发现格式化分区非常的慢。
安装好之后,每次启动总是打印:
ata_piix0000:00:14.1:no available native port
拷贝文件时,kjournald占用CPU在30%多,系统运行比较慢。
而且硬盘的名字是hda,而不是通常的sda。
使用hdparm -tT /dev/hda测试结果显示buffered读写速度只有2MB/sec,远远低于一般的40~100MB/sec。
在网上找了一些,发现原因是BIOS使用了兼容模式的SATA,导致Linux内核使用IDE方式来驱动硬盘。
HP DX7400上没有找到如何设置不使用兼容模式的SATA。
解决方法:
kernel 启动命令行上增加: (编辑/boot/grub/menu.lst,在module /vmlinuz-xxx ro root=xxxx rhgb quiet之后加入下面的内容)
ide0=noprobe
修改/boot/grub/device.map 文件,把文件中对hd0的标记hda 改为sda.
# this device map was generated by anaconda
(hd0) /dev/sda
重新启动.
此方法假定grub安装在MBR上。
hdparm 再测试速度,大约在80M.左右。
注意:hdparm不能对SATA的硬盘进行参数设置。
看看http://linux-ata.org/faq.html 提到的解决方式有:
参考文章:
1. 硬盘性能低下的原因:http://www.cublog.cn/u/17564/showart_488891.html
2. CentOS5在HP Proliant DL140 G2上sata硬盘识别为hda问题的解决方法: http://www.linuxdiyf.com/bbs/viewthread.php?tid=97836