红联Linux门户
Linux帮助

浅谈linux优化

发布时间:2005-05-03 09:52:27来源:红联作者:非你不要
说起优化,其实最好的优化就是提升硬件的配置,例如提高cpu的运算能力,提高内存的容量,个人认为如果你考虑升级硬件的话,建议优先提高内存的容量,因为一般服务器应用,对内存的消耗使用要求是最高的。当然这都是题外话了。
这里我们首要讨论的,是在同等硬件配置下(同一台服务器,不提升硬件的情况下)对你的系统进行优化。
作为系统管理员,我认为,首先我们要明确一个观点:在服务器上作任何操作,升级和修改任何配置文件或软件,都必须首要考虑安全性,不是越新的东西就越好,这也是为什么linux管理感觉上和windows有所不同的地方,windows首先推荐大家去使用它的最新版本软件和操作系统,其实我个人认为这是一种商业行为,作为从系统管理上来讲,这是很不好的,使用新的软件和系统可能带来新的问题,有些甚至是致命的。

因此,作为管理,我们还是应该考虑稳定的长期使用的软件版本来作为我们的版本,具体的好处我就不多说了。相信作为管理员的你应该知道的。

其实个人使用的linux最直接的一个优化就是升级内核,自己编译的内核是根据自己的系统编译而来,将得到最大的性能和最小的内核。

但是,服务器就不太一样了,当然我们也希望每一台服务器都是自己手工编译的内核,高效而精巧。但是实际和愿望是有差距的,试想一下,如果你管理100来台 linux主机,而每一台也许配置都不一样,那编译内核的一个过程将是一个浩大工程,而且从实际考虑,工作量大得难以想象。我想你也不会愿意做这种事情吧。因此,个人建议,采用官方发布的内核升级包是很好的选择。


首先,我们对新安装的系统,将做一系列升级,包括软件和内核,这是很重要的步骤,(这方面的详细情况欢迎察看我另一篇关于升级方面的文章)。

在升级好所有软件后,基本的防火墙和配置都做好以后,我们开始优化一些细节配置,如果你是老系统,那么在作本问题及的一些操作和优化你系统之前,务必被备份所有数据到其他介质。

1、虚拟内存优化
首先查看虚拟内存的使用情况,使用命令

# free

查看当前系统的内存使用情况。
一般来说,linux的物理内存几乎是完全used。这个和windows非常大的区别,它的内存管理机制将系统内存充分利用,并非windows无论多大的内存都要去使用一些虚拟内存一样。这点需要注意。

Linux下面虚拟内存的默认配置通过命令

# cat /proc/sys/vm/freepages

可以查看,显示的三个数字是当前系统的:最小内存空白页、最低内存空白页和最高内存空白。
注意,这里系统使用虚拟内存的原则是:如果空白页数目低于最高空白页设置,则使用磁盘交换空间。当达到最低空白页设置时,使用内存交换(注:这个是我查看一些资料得来的,具体应用时还需要自己观察一下,不过这个不影响我们配置新的虚拟内存参数)。
内存一般以每页4k字节分配。最小内存空白页设置是系统中内存数量的2倍;最低内存空白页设置是内存数量的4倍;最高内存空白页设置是系统内存的6倍。这些值在系统启动时决定。
一般来讲在配置系统分配的虚拟内存配置上,我个人认为增大最高内存空白页是一种比较好的配置方式,以1G的内存配置为例:
可将原来的配置比例修改为:
2048 4096 6444
通过命令

# echo \"2048 4096 6444\" > /proc/sys/vm/freepages

因为增加了最高空白页配置,那么可以使内存更有效的利用。


2、硬盘优化
如果你是scsi硬盘或者是ide阵列,可以跳过这一节,这节介绍的参数调整只针对使用ide硬盘的服务器。

我们通过hdparm程序来设置IDE硬盘,
使用DMA和32位传输可以大幅提升系统性能。使用命令如下:

# /sbin/hdparm -c 1 /dev/hda

此命令将第一个IDE硬盘的PCI总线指定为32位,
使用 -c 0参数来禁用32位传输。

在硬盘上使用DMA,使用命令:

# /sbin/hdparm -d 1 /dev/hda

关闭DMA可以使用 -d 0的参数。

更改完成后,可以使用hdparm来检查修改后的结果,使用命令:

# /sbin/hdparm -t /dev/had

为了确保设置的结果不变,使用命令:
# /sbin/hdparm -k 1 /dev/hda

Hdparm命令的一些常用的其他参数功能

-g 显示硬盘的磁轨,磁头,磁区等参数。
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I 直接读取硬盘所提供的硬件规格信息。
-p 设定硬盘的PIO模式。
-Tt 评估硬盘的读取效率和硬盘快取的读取效率。
-u <0或1> 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。

3、其他优化
关闭不需要的服务,关于系统自动启动的服务,网上有很多资料,在此我就不赘述了;
文章评论

共有 17 条评论

  1. kemen 于 2007-11-16 09:33:58发表:

    有道理

  2. lidin999 于 2007-11-16 08:41:38发表:

    我感觉在LINUX下的系统优化好像效果没有WINDOWS下来的那么明显。

  3. 暗夜 于 2007-05-19 01:25:31发表:

    DDD

  4. skyz319 于 2006-09-05 22:59:27发表:

    支持一下 不过现在我还停留在虚拟机的阶段……不过明天会试试的~感谢楼主共享经验

  5. ationgu 于 2006-09-04 16:01:55发表:

    good

  6. 飞鹰 于 2005-12-07 14:38:03发表:

    这个不错,我再顶一次

  7. 飞鹰 于 2005-10-08 00:14:46发表:

    支持

  8. 晴 于 2005-09-17 11:12:41发表:

    不错,受教

  9. yy123 于 2005-08-29 00:33:38发表:

  10. artiomgy 于 2005-08-06 00:24:10发表:

    不错,支持

  11. dndyjxcn 于 2005-07-20 21:38:57发表:

    说清楚点啊

  12. thej 于 2005-06-30 00:55:57发表:

    我顶

  13. 天使 于 2005-06-07 00:33:57发表:

    顶上去呀

  14. linux_ 于 2005-05-29 10:01:39发表:

    我再顶

  15. thej 于 2005-05-21 01:13:55发表:

  16. chentong 于 2005-05-16 01:12:00发表:

  17. linux_ 于 2005-05-08 01:10:13发表:

    优化是必须的,要不然跑起来不爽,觉得还是关闭多余服务最有效,在WIN的经验,呵呵