QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1311|回复: 7

质疑 编译内核 的重要性(转贴)

[复制链接]
发表于 2004-12-12 20:39:04 | 显示全部楼层 |阅读模式
本人使用linux也有很长一段时间了,从开始简单的系统命令,到系统管理和配置,再到用系统调用和高层的gtk+构件集GUI编程,对linux的很多方面都有了一定的了解。用熟以后难免就要想做一些高级的事情,比如说定制系统来完全满足自己的需要,去掉不必要的功能节约系统资源等等。其中自己重新编译内核是之完全和自己的电脑一一对应,就是其中的一个必要的步骤。
所以一直以来,我就对编译内核乐此不疲,屡败屡战,直到最近一次精心策划的尝试依然失败以后,我开始对此产生了怀疑。
        首先说一下我电脑的配置。毒龙950M的处理器,芯片组是SiS735,显卡用的芯片是NV 的GF4MX200,32M,集成的网卡使用sis900芯片,串口,并口,USB,一应俱全。应该没有SISC,PCMCIA和CARDBUS之类的东东,总线肯定使用了PCI和AGP,我想不大可能使用ISA,和EISA这类的总线,主板手册上也没有说。硬件大概就是这个样子。安装天外天上的redhat as3update3,使用工作站模式外加几个开发工具包,这就是我想在使用的机器软硬件环境。开机,进入文本界面,使用free查看机器资源使用量,物理内存一共使用30多兆,交换分区还没有使用。然后打开Emacs编写代码,然后编译,调试,运行什么的,然后准备关机,再用free查看物理内存,50多兆,看来不算什么,毕竟我的机器拥有256兆ddr266的容量,这点其实根本不算什么,windows没法比了,嘿嘿。然后重启,在文本界面运行xinit启动X,这个命令只是启动了和X server相关的东西,比如说Xfree86,xfs(字体服务器)等等。xclient就开了一个xterm,连窗口管理器都没有。然后同样的使用free查看,内存使用达到53兆,使用top观察进程内存使用量,x是7兆,xterm是5兆,然后打开窗口管理器,我试了试icewm,fvwm,sawfish,当然还有gnome默认的metacity,资源使用量从几兆到十几兆不等,基本上还是可以接受的。在这样的情况下,机器资源消耗并没有超过100兆,这是肯定的。最后是重启,在文本界面运行startx,进入系统默认的gnome桌面环境,还可以,内存使用45%,具体使用量见下图。然后打开firefox,登陆twt和求实BBS,打开一个Emacs编写程序,打开一个xterm查看系统资源使用量。我的天,请看下图。任务栏上显示为80%。这不是最大的,因为我发现随着时间的延长,内存是不会减下去很多的,根本就不可能再回到刚开始时45%的情况。
        得到的结论是,真正消耗系统资源的,是桌面系统那些该死的管理程序,和那些没有设置好活着有缺陷的图形应用程序。打死我都不相信,firefox能用60兆,不过那是真的。还有那个该死的汉王简拼,一上来就是40兆,对于一个输入法来说这是不能容忍的。对于这些资源大户来说,内核里多个无聊的驱动程序,无论是占用内存,和处理器时间,我想都不是主要的。奔四2G的处理器,你还在乎那点么?
        最后让我们来看看重新编译内核的情况。我想这个过程最要命的就是配置内核的过程了。我用的是make  xconfig,要稍微好一些,起码眼睛不疲劳。诸类选项,多且杂,处理器要选duron的,不知道要不要选择mtrr,网卡芯片只选sis900,直接编译到内核,不要做模块,其他一律不选。显示要选上buffer frame的,才好在虚拟控制台上设置vga=791这样的参数让字体变小些增加信息量。要支持网络,但不作路由器,不要ISDN,红外,业余电台,x.25,FDDI,PPP什么的。可执行文件格式要用ELF(可执行和链接格式)还有支持a.out,进程间通信机制要支持system V的信号量集,共享内存,信息队列什么的,硬盘接口使用IDE的,系统没有SCSI和PCMCIA,因此这两个一律不要。要支持即插即用,USB,但不要支持东芝,戴尔 laptop,电源管理要用apm,还有把acpi做成模块。。。繁杂得很,很多东西涉及到软件,硬件,操作系统,网络等很多方面的知识,弄清楚每个选项到底是什么意思是很不容易且很难实现的。如果只是明确了处理器的类型其他不变,优化程度能达到多少呢?因为处理器并不是系统最紧张的资源啊。
        所以我最后的感想是,真正需要我们考虑的是,应该使用怎样的方法,减少x window system对于资源的消耗。我打算下一次安装系统时,只安装x window system就够了,省掉狂占资源的gnome,听说KDE比它占的还要多。在窗口管理器中,最节约内存的是fvwm,且功能也很强大,只不过需要我们花一些时间来配置,这是一个练手的机会呀。至于那个firefox,我一直怀疑是那个flash player的问题,网上有报道的,很费内存,我也觉得没装补丁以前,内存消耗没那么大,还有bug,上网的时候鼠标放进flash里,滚轮就不起作用了。如果这方面做得好的话,系统应该很不错了。完全没有必要重新编译内核嘛。
(一点感想。真正的高手可能不屑一顾,如果我也能够对内核了如指掌的话,那也一定是量体裁衣了,完全定制了。这符合linux的精神,从钻研技术这点上来看,也是很不错的。但是我们知道的还很有限,我认为应该把时间放到了解系统,使用系统上,让他成为我们的一个工具,为我们工作而已。)
这里本来有一个附件 Screenshot-1.png
但是目前CN BBS转信系统不转带有较大附件的信件,所以 TJUBBS BBS 去掉了.

这里本来有一个附件 Screenshot-2.png
但是目前CN BBS转信系统不转带有较大附件的信件,所以 TJUBBS BBS 去掉了.

这里本来有一个附件 Screenshot.png
但是目前CN BBS转信系统不转带有较大附件的信件,所以 TJUBBS BBS 去掉了.

--
划过银河的美丽的流星,毁灭,异次元空间
※ 来源:.天大求实BBS http://bbs.tju.edu.cn [FROM: 211.81.55.96]

附件访问地址:http://bbs.tju.edu.cn/TJUBBS/con?B=Linux&F=M.1102822456.A
发表于 2004-12-13 02:14:15 | 显示全部楼层
编译内核之前先想清楚“为什么我要这么做?”如果是为了学习,那么再折腾也无所谓,但是如果你是为了“使用”linux,那么,就不需要整天捣鼓了
回复

使用道具 举报

发表于 2004-12-13 17:08:19 | 显示全部楼层
我想很多人编译内核是为了学习吧
象文章作者这样为了极度优化内核的可能比较少
回复

使用道具 举报

 楼主| 发表于 2004-12-13 21:02:58 | 显示全部楼层
[quote:a6aa333cad="suowei1979"]我想很多人编译内核是为了学习吧
象文章作者这样为了极度优化内核的可能比较少[/quote]
我是为了折腾
回复

使用道具 举报

发表于 2004-12-13 21:18:40 | 显示全部楼层
如果用过matlab就知道用 gnome和 fvwm的差别了。gnome太耗资源了 :-(
回复

使用道具 举报

发表于 2004-12-14 10:13:45 | 显示全部楼层
让我对fvwm有点心动了,有空再折腾吧,不过还没有成功编译一次内核,没有成就感,主要是被里面恐怖的选项吓着了,好多名词都不知道是干什么的。不敢乱选,痛苦……
回复

使用道具 举报

发表于 2004-12-14 12:05:39 | 显示全部楼层
有一个好方法,用已经管用的配置文件来订制内核,选项拿不准的就不动它,只有肯定不需要的的选项才咔嚓掉,用这个方法,可以最大限度保证不出问题。   
回复

使用道具 举报

发表于 2004-12-17 06:18:04 | 显示全部楼层
a tool is only a tool. it is not your purpose. at least this is true for most of the people.

yes, think about why before you do it.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-19 19:35 , Processed in 0.088554 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表