今天看了下Ubuntu 12.04的linux-souce-3.2.19默认的内核配置,非常完美,稳定,性能平衡于Debian和rhel之间。对于要求不是很高的企业来讲还是很不错的,下面我们一起来欣赏一下几个重要部分配置:
1,Ubuntu使用了非常高的版本linux-3.2.19改造,这点比Debian6 , rhel6都高不少,后者才使用到2.6.32版本,这个也是Ubuntu的特点。激进分子,这点不敢苟同,要经过自己的测试,妥善采纳,千万不要轻易在自己的Debian,rehl上编译这么新的内核,可能会死的难看,各种支持库有兼容问题。
2,general通用设置
这块Ubuntu和Debian一样开启了内核slub内存分配机制(slab)改进版本,更加适合大规模cpus numa部署,而在rhel,CentOS中则还是传统的slab支持。但是他们全部都没有使用optimize for size选项,这点其实开启了内核会小点,性能能更好点,但是最好还是要测试下,本人是支持开启的(自己的内核才1.6M),他们都开启了内核调试模块再其中大大影响了性能,建议关闭kprobes oprofile等调试分析选项除非你是分析师。
3,模块选项:
Ubuntu和rhel centos一样都开启了模块安全检查功能在里面 checksum有效防止rookit后门。
4,io调度:
Ubuntu和rhel,centos一样使用了CFQ为为默认的调度器,其实如果你是vps商,纯web服务器等开启这个不错,但是如果你是高压力数据库建议还是改为电梯调度deadline吧。(oralce-linux就是使用的deadline)
5,processor选项:
ubunt和rhel.Debian一样都是开启通用x86cpu,而没有选择具体的cpu类型,这点需要咱们更改,还有就是preemption抢占的开启,和rhel,centos为了支持桌面,支持kvm虚拟机的资源分配开了轻度抢占模式,如果大家不做kvm主机,不做桌面建议改成传统的无抢占模式server模式。最有一点就是timer frequency和Debian一样设置为250,本人认为这是一个非常好的值,rhel等就设置为1000结果浪费了大量cpu资源用於切换,我的意见是除非你的cpu非常强大主频3.5G以上,网卡,带宽达到1G,有大量的ddos攻击否则还是老老实实把centos rhel的1000改成250.
6,文件系统:
我们可爱的Ubuntu有一次走在前面了,直接把ext3 ext4编译进内核,而不是和rhel和CentOS那样保守的编译成模块,,可以想象这么重要的东东,而且漏洞不是很多的部分,为什么要编译模块呢,支持Ubuntu不怕死的精神。
7,安全lsm子系统:
强大的Ubuntu有一次让我泪流满面了,居然全部开启所有的安全模块直接编进内核,selinx tomoyo appaarmor yama ….比起rhel,centos只开启一个苦涩难懂,并不安全的selinux无视其他linux开发者辛辛苦苦开发的安全模块来说,是人类的一大进步,支持多元发展反对垄断原来这内核世界也通用啊。。。而且Ubuntu没有吧selinux作为默认的安全机制,而是把 NOVELL SUSE家的AppArmor作为默认的安全系统。。。难道他们两家联合起来对付rhel了吗,支持!!不过还是根据大家的经验和具体情况选择一种就可以了,要知道安全是要付出代价的,我在前面有篇文章讲过开启安全模块对性能的影响。。。
8,kvm支持:
看到了我心中的神,virtio其他的还是保守的支持amd intel虚拟技术了。没什么好说的。。
总结:总体上来说,Ubuntu这个发行版是以Debian发家,偷学了rhel suse 等不少企业版本的东东,集大成,再加入了很多新软件,新内核,安全,性能,稳定,平衡的很好,适合企业非关键,非安全机密的部门使用,如果说Debian和rhel是70后,centos,Oracle suse是80后,则Ubuntu就是90后了,潜力无限!!!