我们在安装LUNUX的过程中实际上有大量的,我们并不需要的模块被放在LINUX的系统内核中,并且每次在系统启动时这些没有的内核模块(在特定的需求下)会加载到系统内核中,这样以来不仅有大量的内存被占用,更为严重的是系统内核的运行效率会大打折扣。
下面是我精简和编译系统内核的实践过程。
1.编译环境说明:
在这里特别说明的是在编译系统内核之前一定要装全系统的编译环境。一般情况下在安装LINUX时选上Kernel Development和Development Tools就可以了。如果当时没有选装上请再单独安装,否则编译系统内核的过程会出错而不能进行。
另外我们编译内核时一定要在本地登陆,不能通过远程的控制台登陆到系统上进行操作。
2.去掉多余的内核模块:
# su -
# cd /usr/src/linux-2.4
# make mrproper 如果是新装的系统可省略这个
# make menuconfig
如果你不需要并口设备支持(如传统的打印机),注销这个选项:
Parallel port support --->
如果你使用的IDE硬盘,注销这个选项:
SCSI support --->
如果你没有IEEE 1394(火线)设备,注销这个选项:
IEEE 1394 (FireWire) support --->
如果你的网络中没有下列需求,注销这个选项的下列子选项:
Network device support --->
FDDI driver support 光纤网络
Ethernet (1000 Mbit) 1000M网络
ATM drivers ATM网络
PCMCIA network device support 笔记本计算机支持
Wireless LAN (non-hamradio) 无线网络
Token Ring devices 令牌环网络
如果你不想用LINUX架设业余电台,注销这个选项:
Amateur Radio support --->
如果你不想使用红外线设备,注销这个选项:
IrDA (infrared) support --->
如果你没有ISDN线路,注销这个选项:
ISDN subsystem --->
如果你没有可以支持I20(PIC的超集)的设备,注销这个选项:
I2O device support --->
如果你只想让LINUX安静的工作,注销这个选项:
Sound --->
如果你没有USB接口设备并厌恶USB设备,注销这个选项:
USB support --->
如果你没有IBM的蓝牙设备(市场这种产品非常少),注销这个选项:
Bluetooth support --->
如果你有其他的内核需求,查找相关的内核选项:
3.开始内核编译:
# make dep 大约需要5分钟
# make clean 大约需要5秒
# make bzImage 大约需要10分钟
# make modules 大约需要30分钟
# make modules_install 大约需要1分钟
# reboot
4.精简编译的成果:
我的系统在完成了上述编译后系统内存占用下降了35M,CUP的占用明显下降了,
我的系统服务有:
CROND、IMAP、HTTPD、IPTABLES、IRQBALANCE、MYSQLD、NETFS、NETWORK、
POSTFIX、PROFTPD、SGI_FAM、SMB、SSHD、SYSLOG、XFS、XINETD
REBOOT计算机TOP查看:
RAM使用:45M
CUP使用:0