Centos极限优化之gcc,centos极限gcc2,我们关闭了多平台


如今的gcc已经到4.7.1了,首先我们来安装gcc吧:

1,下载gcc-4.7.1-20120825.tar.bz2,然后解压,还需要下载安装libgmp3-dev libmpfr-dev libmpc-dev flex bison zlib readline automake autoconfig cmake zlib1g-dev 很多软件在你aptitude install build-essential kernel-package 等内河编译环境是已经安装了

2,mkdir gcc-build编译目录 并进入cd gcc-build

3,../gcc-4.7.1*/configure


--prefix=/usr


--libexecdir=/usr/lib


--enable-shared


--enable-threads=posix


--enable-__cxa_atexit


--enable-clocale=gnu


--enable-languages=c,c++


--disable-multilib


--disable-bootstrap


--with-system-zlib


--build=x86_64-linux-gnu


--enable-lto


--with-cpu=athlon64

注意:1,这里我们开启了最新的lto优化,支持linux内核编译,以后所有的编译都会使用lto优化,会自动分配几个进程来编译,也可以自己定义进程数量使用-flto=n来设置,可以提高程序5%左右的性能,不过可能带来编译时间的大幅度提高 特别是php编译5.2.X。

2,我们关闭了多平台32 64支持disable-multilib,所有不用安装gcc-mulitlib否则要安装。

3,修改gcc-build产生的Makefile 把所有的 -g 全部去掉呵呵,默认系统自带的gcc,cpp等才250K如果不去调试gcc4.7.1的gcc .cpp要1.7M恐怖,去掉以后才520K左右!

好了安装完成后,把/usr/bin下面原来的gcc cpp c++ g++连接改为 ln -s /usr/gcc*/bin/gcc gcc.........................之后我们就可以编辑/etc/profile。加入CFLAGS=' -O2 -pipe -march=athlon64 -fomit-frame-pointer(其实开启O2就已经开启了,怕有些系统要专门制定)。没有必要我们不需要开启O3级别,很容易出错。改好了之后就是source profile生效了。

不过建议大家不要太在意gcc的性能提高,特别是对于内核编译到底使用O2 还是Os各大发行版本不一样rhel ,centos等是使用的O2 debian 使用的是Os本人建议如果编译内核还是改为Os把对于主线内核,或者debian内核,rhel还是O2把,这类发行版对内核修改还是很大的,基本脱离了标准的主线内核。。。。。至于O3甚至是Ofast级别,基本上如果大家不是疯子还是不要整,整了也白搭看不出效果而且搞不好还会降低性能,出错。。。。

以上测试都是在debian6.0.5进行,请大家谨慎参考,部署出错与本人无关,追求卓越,永无止境!

最后附上最新力作,精简的debian内核2.6.32配置文件,以供大家在vps发挥linux极限性能http://down.51cto.com/data/497058 编译以后内核大小为1.19M,比之前的2.4M减少了一半大小,此内核专门对虚拟环境(vm,如果是kvm请开启viro device)进行了优化,同时参考了linode vps内核配置文件,关闭了netfilter,lsm安全功能,基本上用,在vps下面开了也是死。


相关内容

    暂无相关文章