中国教程网论坛's Archiver

天涯孤风 发表于 2007-7-18 21:17

Linux操作系统优化方法介绍

1、检查你的gcc版本:


#gcc --version


2、获取你的cpu的型号:


cat /proc/cpuinfo


3、在/etc/下建立make.conf文件,并根据cpu的型号写入不同内容。注意你的gcc版本必须在3.0以上。

i386 (Intel):


CHOST=\"i386-pc-linux-gnu\"

CFLAGS=\"-march=i386 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=i386 -O3 -pipe -fomit-frame-pointer\"


i486 (Intel):


CHOST=\"i486-pc-linux-gnu\"

CFLAGS=\"-march=i486 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=i486 -O3 -pipe -fomit-frame-pointer\"


Pentium 1 (Intel)


CHOST=\"i586-pc-linux-gnu\"

CFLAGS=\"-march=pentium -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=pentium -O3 -pipe -fomit-frame-pointer\"


Pentium MMX (Intel)


CHOST=\"i586-pc-linux-gnu\"

CFLAGS=\"-march=pentium-mmx -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=pentium-mmx -O3 -pipe -fomit-frame-pointer\"


Pentium PRO (Intel)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=pentiumpro -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=pentiumpro -O3 -pipe -fomit-frame-pointer\"


Pentium II (Intel)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=pentium2 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=pentium2 -O3 -pipe -fomit-frame-pointer\"


Celeron (Mendocino), aka Celeron1 (Intel)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=pentium2 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=pentium2 -O3 -pipe -fomit-frame-pointer\"


Pentium III (Intel)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=pentium3 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=pentium3 -O3 -pipe -fomit-frame-pointer\"


Celeron (Coppermine) aka Celeron2 (Intel)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=pentium3 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=pentium3 -O3 -pipe -fomit-frame-pointer\"


Celeron (Willamette?) (Intel)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=pentium4 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=pentium4 -O3 -pipe -fomit-frame-pointer\"


Pentium 4 (Intel)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=pentium4 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=pentium4 -O3 -pipe -fomit-frame-pointer\"


Eden C3/Ezra (Via)


CHOST=\"i586-pc-linux-gnu\"

CFLAGS=\"-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer\"


K6 (AMD)


CHOST=\"i586-pc-linux-gnu\"

CFLAGS=\"-march=k6 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=k6 -O3 -pipe -fomit-frame-pointer\"


K6-2 (AMD)


CHOST=\"i586-pc-linux-gnu\"

CFLAGS=\"-march=k6-2 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=k6-2 -O3 -pipe -fomit-frame-pointer\"


K6-3 (AMD)


CHOST=\"i586-pc-linux-gnu\"

CFLAGS=\"-march=k6-3 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=k6-3 -O3 -pipe -fomit-frame-pointer\"


Athlon (AMD)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=athlon -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=athlon -O3 -pipe -fomit-frame-pointer\"


Athlon-tbird, aka K7 (AMD)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=athlon-tbird -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=athlon-tbird -O3 -pipe -fomit-frame-pointer\"


Athlon-tbird XP (AMD)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=athlon-xp -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=athlon-xp -O3 -pipe -fomit-frame-pointer\"


Athlon 4(AMD)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=athlon-4 -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=athlon-4 -O3 -pipe -fomit-frame-pointer\"


Athlon XP (AMD)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=athlon-xp -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=athlon-xp -O3 -pipe -fomit-frame-pointer\"


Athlon MP (AMD)


CHOST=\"i686-pc-linux-gnu\"

CFLAGS=\"-march=athlon-mp -O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-march=athlon-mp -O3 -pipe -fomit-frame-pointer\"


603 (PowerPC)


CHOST=\"powerpc-unknown-linux-gnu\"

CFLAGS=\"-O3 -pipe -fsigned-char\"

CXXFLAGS=\"-O3 -pipe -fsigned-char\"


603e (PowerPC)


CHOST=\"powerpc-unknown-linux-gnu\"

CFLAGS=\"-O3 -pipe -fsigned-char\"

CXXFLAGS=\"-O3 -pipe -fsigned-char\"


604 (PowerPC)


CHOST=\"powerpc-unknown-linux-gnu\"

CFLAGS=\"-O3 -pipe -fsigned-char\"

CXXFLAGS=\"-O3 -pipe -fsigned-char\"


604e (PowerPC)


CHOST=\"powerpc-unknown-linux-gnu\"

CFLAGS=\"-O3 -pipe -fsigned-char\"

CXXFLAGS=\"-O3 -pipe -fsigned-char\"


750 aka as G3 (PowerPC)


CHOST=\"powerpc-unknown-linux-gnu\"

CFLAGS=\"-mcpu=750 -O3 -pipe -fsigned-char -mpowerpc-gfxopt\"

CXXFLAGS=\"-mcpu=750 -O3 -pipe -fsigned-char -mpowerpc-gfxopt\"


7400, aka G4 (PowerPC)


CHOST=\"powerpc-unknown-linux-gnu\"

CFLAGS=\"-mcpu=7400 -O2 -pipe -fsigned-char -maltivec

-mabi=altivec -mpowerpc-gfxopt\"

CXXFLAGS=\"-mcpu=7400 -O2 -pipe -fsigned-char -maltivec

-mabi=altivec -mpowerpc-gfxopt\"

-fsigned-char -maltivec -mabi=altivec -mpowerpc-gfxopt\"


7450, aka G4 second generation (PowerPC)


CHOST=\"powerpc-unknown-linux-gnu\"

CFLAGS=\"-mcpu=7450 -O2 -pipe -fsigned-char

-maltivec -mabi=altivec -mpowerpc-gfxopt\"

CXXFLAGS=\"-mcpu=7450 -O2 -pipe -fsigned-char

-maltivec -mabi=altivec -mpowerpc-gfxopt\"



PowerPC (If you don\'t know which one)


CHOST=\"powerpc-unknown-linux-gnu\"

CFLAGS=\"-O3 -pipe -fsigned-char -mpowerpc-gfxopt\"

CXXFLAGS=\"-O3 -pipe -fsigned-char -mpowerpc-gfxopt\"


Sparc


CHOST=\"sparc-unknown-linux-gnu\"

CFLAGS=\"-O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-O3 -pipe -fomit-frame-pointer\"


Sparc 64


CHOST=\"sparc64-unknown-linux-gnu\"

CFLAGS=\"-O3 -pipe -fomit-frame-pointer\"

CXXFLAGS=\"-O3 -pipe -fomit-frame-pointer\"

好了,这样做后你编译出的程序运行效率将比以前高很多!只要你有时间,你可以把你的系统如redhat linux 9.0的源代码(后缀.src.rpm)全部重新编译一次,你会发现你的Redhat Linux系统将比原来快一大截!

白日如梦 发表于 2008-4-3 13:32

已经copy了~
慢慢实验去~

dong424 发表于 2008-5-26 16:31

全英文jc:han

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.