服务器和桌面的应用环境是不同的,前者侧重于稳定性和可靠性,后者可能更加侧重于功能性和响应的及时性。所以在对Linux内核进行配置的时候,应该根据不同的应用环境做出适应此环境的选项调整。
进程的上下文切换需要消耗CPU周期,频繁的进程调度会降低系统的性能,但是这会在一定程度上提高系统的响应,如何在两者之间做出合理的选择,主要还是依据具体的应用环境。对于桌面用户而言,提高系统的交互体验更加重要,故可以适当提高系统的HZ值,并且打开内核抢占,内核抢占分为自愿抢占(Voluntary Kernel Preemption)和强制抢占(Preemptible Kernel),前者是插入可抢占点,后者是除了不能抢占的地方全部都是可抢占点,也就是说抢占点连成了片,所以后者的时延更低。网络服务器就不同了,RTT的分部可能在0.5-500ms,甚至1s多,高HZ值和抢占带来的优势不明显,所以不如适当降低HZ值,并且禁止抢占。对于一些实时性要求更高的场合,可以考虑采用对实时性进行特殊优化过的实时Linux。
Linux内核作为一个通用内核,必须满足各方的需求,但是众口难调,维护一个这样的内核确实很不容易,向那些维护人员致敬,尤其是Linus先生。
阅读(1504) | 评论(0) | 转发(0) |