|
常言影响系统效能最大的主要是四方面:
1. kernel
2. glibc
3. Xorg 自身
4. X 的桌面环境
当中以内核最见效,可是 kernel developer 为求稳定,默认是用 -O2 来编译的,也可以选择用 -Os 来取得较少的体积,大家可有想过用 -O3 来怎样呢?
其实是可以的,不过要分两个步骤进行:
1. 按照正常方式编译及安装内核一次,把所有相关的东西(包括模组)如常安装便行
2. 清空源码树重新再来一次,但要用 -O3,必需在 make 之前修改 Makefile。可是完全用 -O3 编译是无法完成的,因为模组的建立不能继续下去
[PHP] CC arch/x86/boot/video.o
CC arch/x86/boot/video-mode.o
CC arch/x86/boot/version.o
CC arch/x86/boot/apm.o
CC arch/x86/boot/video-vga.o
CC arch/x86/boot/video-vesa.o
CC arch/x86/boot/video-bios.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
OBJCOPY arch/x86/boot/vmlinux.bin
HOSTCC arch/x86/boot/tools/build
BUILD arch/x86/boot/bzImage
Root device is (8, 6)
Setup is 11676 bytes (padded to 11776 bytes).
System is 2302 kB
CRC 3ffd8126
Kernel: arch/x86/boot/bzImage is ready (#1)
Building modules, stage 2.
MODPOST 558 modules
ERROR: "__bad_udelay" [drivers/net/tokenring/tms380tr.ko] undefined!
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
real 25m0.900s
user 22m28.258s
sys 1m26.889s
d00m3d@BlackMesa:~/BLFS-sources/linux-2.6.27.6$ [/PHP]
但这不要紧,因为模组在前面经已装好,最重要是这句话
- Kernel: arch/x86/boot/bzImage is ready (#1)
复制代码
说明内核的映像已准备好了,那麽只要跳过 make modules_install 一步,把按手册方式把它及 System.map 再拷一次到 /boot 里便行。也就是说,系统内核是由 -O3 编译出来的,模组却是第一次正常编译由 -O2 得出来的
现在有了 kexec-tools,http://www.linuxsir.cn/bbs/thread335331.html
连重启都不用,马上可以测试新内核了。如无意外,应该一切正常"起动",模块加载也不会出问题,我不知用哪些软件做 benchmarking 好,但改用 -O3 为我带来的只有喜悦,系统突然精神数倍,反应奇佳,太棒了!
吾为求提升系统效能,不择手段,牺牲稳定性在所不计,(其实系统已运作多天也未见任何不稳定),不喜者请勿仿效! |
|