Linux通用系统优化大全


针对系统的优化工作需要根据不同的系统采用不同的办法。本文旨在描述通用的优化 Linux 的一些办法。

一、编译选项

“etc/profile”文件含有系统大量的环境和启动程序的配置信息。你在该文件中进行的配置,可以通过申请全局环境变量来实现。因此,在该文件中设置优化标志,是一种明智的选择。要想使x86程序获得最佳性能,可以在编译时,使用最佳的优化选项-O9 。许多程序的“Makefile”文件中已经含有-O2选项,而-O9使编译器采用最高级别的优化。尽管它将增加最终程序的大小,但这样可以获得更高的运行速度。编译时,使用“-fomit-frame-pointer”选项,程序运行时,访问变量时将使用堆栈。但是,使用这一选项,生产的代码将无法调试。使用“-mcpu=cpu_type”和“-march=cpu_type”选项,Gcc将针对这种型号CPU进行专门的优化,但生成的代码只能在所指定的CPU或更高系列的CPU上运行。当我们采用 -O9来编译程序时,或许文件字节数是最大的,但是往往其运行速度也是最快的。根据不同的机器架构,你可以把下面的语句加入 /etc/profile 。

对于CPU i686或PentiumPro、Pentium II、Pentium III等:

CFLAGS='-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro

-march=pentiumpro -fomit-frame-pointer -fno-exceptions'

对于CPU i586或Pentium:

CFLAGS='-O3 -march=pentium -mcpu=pentium -ffast-math -funroll-loops

-fomit-frame-pointer -fforce-mem -fforce-addr -malign-double -fno-exceptions'

对于CPU i486:

FLAGS='-O3 -funroll-all-loops -malign-double -mcpu=i486 -march=i486

-fomit-frame-pointer -fno-exceptions'

在进行完以上设置之后,紧接着把“CFLAGS LANG LESSCHARSET”加入到“etc/profile”文件中的“export”行中:

export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL INPUTRC CFLAGS

LANG LESSCHARSET

然后,重新登录,这时,环境变量CFLAGS已经被赋值,编译器和其它配置工具可以使用它。对Pentium(Pro/II/III)的优化必须使用egcs或pgcc编译器。Linux的缺省安装中,已经装上了egcs,所以无需担心。

另外,安装程序时,使用 tarball 格式总要比 RPM 格式来得好,因为, tarball 需要重新编译,能针对你的机器架构作优化,得到最好的性能。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 下一页
【内容导航】
第1页:编译选项 第2页:重新编译内核
第3页:停止不使用的服务 第4页:优化磁盘
第5页:文件及文件系统调谐 第6页:关闭多余的虚拟控制台
第7页:进程限制“ulimit”参数 第8页:其它方面的优化

相关内容