Gentoo Linux内核配置(二)

[*] Enable loadable module support  ---> 

[ ]   Forced module loading 
//允许强制加载模块,不选

[*]   Module unloading 
//允许卸载已经加载的模块,选上比较好

[ ]   Forced module unloading 

//这个选项能强行卸载模块,即使内核认为这样并不安全,也就是说你可以把正在使用中的模快卸载掉。如果你不是内核开发人员或者骨灰级的玩家,不要选择这个选项

[ ]   Module versioning support 

//有时候,你需要编译模块。选这项会添加一些版本信息,来给编译的模块提供独立的特性,以使不同的内核在使用同一模块时区别于它原有的模块。这有时可能会有点用。还是那个建议,如果是内核或者模块开发人员或者是骨灰玩家,可以选上,如果是普通用户,还是别选了,没用。

[ ]   Source checksum for all modules 
//为所有的模块校验源码,如果你不是自己编写内核模块就不需要。这个功能是为了防止更改了内核模块的代码但忘记更改版本号而造成版本冲突。我估计现在没有哪家公司在开发中还没使用版本控制工具,所以不需要这项了。如果你不是自己写内核模块,那就更不需要这一选项了。

 

-*- Enable the block layer  ---> 
//这个大项各子选项均按默认即可。。。

 

Processor type and features --->

 

[*] Tickless System (Dynamic Ticks) 
//非固定频率系统,这项技术能让新内核运行的更有效率,并且更省电。动态时间片意思是当CPU处于空闲时,降低内核定时器的轮询频率。

 

[*] High Resolution Timer Support
//支持高频率时间发生器,如果硬件不兼容,则这个选项只会增大内核(大多数个人PC并没有这个)。一般用户可关闭。

[*] Symmetric multi-processing support 
//对称多处理器支持,如果你有多个CPU或者使用的是多核CPU就选上。

[ ] Support sparse irq numbering 
//支持稀有的中断编号.不选。多块(非多核)CPU可选。

[*] Enable MPS table 

// 让多核/CPU系统支持ACPI,可选

[ ] Support for big SMP systems with more than 8 CPUs

[ ] Support for extended (non-PC) x86 platforms 

//我是X86平台,不需要再支持其他平台

[*] Single-depth WCHAN output

// proc 相关的最好不要关

[ ] Paravirtualized guest support  ---> 
//虚拟化客户端支持,没有什么用处,不选

[*] Disable Bootmem code 

//This optimizes some complex initial memory allocation fragments within the Linux kernel.选不选均可。

[ ] Memtest

//内存测试

Processor family (Core 2/newer Xeon)  ---> 

//这里请选择对应的CPU,我是 core 2 duo

[ ] Generic x86 support

//这 一选项针对x86系列的CPU使用更多的常规优化。如果你在上面一项选的是i386、i586之类的才选这个通用x86支持,如果你的CPU能够在上 述"Processor family"中找到就别选。我的是core 2 duo,在Processor family里已找到,故不选。

[*] HPET Timer Support 
//HPET时钟支持。允许内核使用 HPET 。HPET是替代8254芯片的新一代定时器,i686及以上级别的主板都支持,可以安全的选上。但是,HEPT只会在支持它的平台和BIOS上运行。如 果不支持,8254将会激活。选N,将继续使用8254时钟。选上吧。

(8) Maximum number of CPUs

//支持的最大CPU数量,这个没多大意义,填4填8影响微乎其微。注意是CPU核心数。如果是超线程处理器需要再乘以2.

[ ]  SMT (Hyperthreading) scheduler support

 

//支持Intel的超线程(HT)技术超线程调度器在某些情况下将会对 intel HT系列有较好的支持。如果你不清楚,不选。我的CPU是P7370,不支持超线程HT。不选。

[*] Multi-core scheduler support 
针对多核CPU进行调度策略优化多核调度机制支持,双核的CPU要选。多核心调度在某些情况下将会对多核的CPU系列有较好的支持。我的是双核,选之。

 

Preemption Model (Voluntary Kernel Preemption (Desktop))  ---│> 
内 核抢占模式一些优先级很高的程序可以先让一些低优先级的程序执行,即使这些程序是在核心态下执行。从而减少内核潜伏期,提高系统的响应。当然在一些特殊 的点的内核是不可抢先的,比如内核中的调度程序自身在执行时就是不可被抢先的。这个特性可以提高桌面系统、实时系统的性能。

 

  • ( ) No Forced Preemption (Server) 
    适合服务器环境的禁止内核抢占这是传统的LINUX抢先式模型,针对于高吞吐量设计。它同样在很多时候会提供很好的响应,但是也可能会有较长的延迟。如果你是建立服务器或者用于科学运算,选这项,或者你想要最大化内核的原始运算能力,而不理会调度上的延迟。
  • (X) Voluntary Kernel Preemption (Desktop) 
    适 合普通桌面环境的自愿内核抢占这个选项通过向内核添加更多的“清晰抢先点”来减少内核延迟。这些新的抢先点以降低吞吐量的代价,来降低内核的最大延迟,提 供更快的应用程序响应。这通过允许低优先级的进程自动抢先来响应事件,即使进程在内核中进行系统调用。这使得应用程序运行得更“流畅”,即使系统已经是高 负荷运转。如果你是为桌面系统编译内核,选这项。
  • ( ) Preemptible Kernel (Low-Latency Desktop) 
    适 合运行实时程序的主动内核抢占这个选项通过使所有内核代码(非致命部分)编译为“可抢先”来降低内核延迟。这通过允许低优先级进程进行强制抢先来响应事 件,即使这些进程正在进行系统调用或者未达到正常的“抢先点”。这使得应用程序运行得更加“流畅”即使系统已 经是高负荷运转。代价是吞吐量降低,内核运行开销增大。选这项如果你是为桌面或者嵌入式系统编译内核,需要非常低的延迟。如果你要最快的响应,选第三项。 我认为万物是平衡的,低延迟意味着系统运行不稳定,因为过多来响应用户的要求,所以我选第二个。

    [*] Reroute for broken boot IRQs 
    //防止同时收到多个boot IRQ(中断)时,系统混乱


    [*] Machine Check / overheating reporting 
    让CPU检测到系统故障时通知内核,以便内核采取相应的措施(如过热关机等)

     

    [*]   Intel MCE features

    //我的是Intel CPU

    [ ]   AMD MCE features 

    [ ]   Support for old Pentium 5 / WinChip machine checks

     

    < > Machine check injector support 
    //让CPU检测到系统故障时通知内核,以便内核采取相应的措施(如过热关机等)

    < > Toshiba Laptop support 
    //东芝笔记本模块支持
    < > Dell laptop support 
    //Dell笔记本模块支持

     

    [ ] Enable X86 board specific fixups for reboot 
    //修正某些旧x86主板的重起bug,这种主板基本绝种了,不选。

    < > /dev/cpu/microcode - microcode support

    //这个选项是让你使用不随Linux内核发行的IA32 microcode,但是你必需有IA32 microcode的二进制文件。当然你还必须在文件系统选项中选择/dev file system support才能正常的使用它。不选。

    < > /dev/cpu/*/msr - Model-specific register support

    //这个选项桌面用户一般用不到,它主要用在Intel的嵌入式CPU中的,这个寄存器的作用也依赖与不同的CPU类型 而有所不同,一般可以用来改变一些CPU原有物理结构的用途,但不同的CPU用途差别也很大。在多cpu系统中让特权CPU访问x86的MSR寄存器。由于超线程并不是真正的多处理器环境,所以不要选择这个。

    < > /dev/cpu/*/cpuid - CPU information support

    //这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。一般不用选。 

    High Memory Support (4GB)  ---> 

    //如果你有1GB-4GB之间的物理内存,选4GB选项。如果超过4GB,那么选择64GB。这将打开 Intel 的物理地址延伸模式(PAE)。

    Memory model (Flat Memory) --->

    //正常用户选用平坦内存模式。

    [ ] Enable KSM for page merging

    //一项与KVM虚拟机有关的内存管理技术,不必要不用选。

    (4096) Low address space to protect from user allocation
    [ ] Enable recovery from hardware memory errors
    [ ] Allocate 3rd-level pagetables from highmem 

    //在内存很多(大于4G)的机器上将用户空间的页表放到高位内存区。

    []Check for low memory corruption 

    //低位内存脏数据检查,默认是每60秒检查一次。一般这种脏数据是因某些Bios处理不当引起的。我信任我目前的虚拟bios版本。故不选。

    [*] Reserve low 64K of RAM on AMI/Phoenix BIOSen

    //AMI/Phoenix 的BIOS启用,我的HP本是Phoenix的BIOS。。

    [ ] Math emulation 不选
    数学协处理器仿真,486DX以上的cpu就不要选它了

    MTRR (Memory Type Range Register) support

    //据说可以提高显卡性能。

    [ ]   MTRR cleanup support 
    //MTRR清理,选不选随意吧,我没选

    [ ] EFI runtime service suppor t不选
    EFI 启动支持这里允许内核在EFI平台上使用储存于EFI固件中的系统设置启动。这也允许内核在运行时使用EFI的相关服务。这个选项只在有EFI固件的系统 上有用,它会使内核增加8KB。另外,你必须使用最新的ELILO 登录器才能使内核采用EFI的固件设置来启动(GRUB和LILO完全不知道EFI是什么东西)。即使你没有EFI,却选了这个选项,内核同样可以启动。 大家应该用的是GRUB,所以选上这个也没什么用。除非你的系统支持EFI(一种可代替传统BIOS的技术)否则不选。

    [*] Enable seccomp to safely compute untrusted bytecode 

    //只有嵌入式系统可以不选

    [ ] Enable -fstack-protector buffer overflow detection (EXPERIMEN│

    //不知道是神马,不选

    Timer frequency (1000 HZ)  --->

    //允许设置时钟频率。这是用户定义的时钟中断频率 100HZ-1000 HZ ,不过 100 HZ 对服务器和NUMA系统更合适,它们不需要很快速的响应用户的要求,因为时钟中断会导致总线争用和缓冲打回。其实和前面的抢先式进程差不多,就是多少频率来响应用户要求。但是还是那 句话,一切是平衡的。机器过 快响应你,它自己的活就不知道做得好不好了。

    [*] kexec system call 
    //kexec 系统调用。kexec是一个用来关闭你当前内核,然后开启另一个内核的系统调用。它和重启很像,但是它不访问系统固件。由于和重启很像,你可以启动任何内 核,不仅仅 是LINUX。kexec这个名字是从 exec 系统调用来的。它只是一个进程,可以确定硬件是否正确关闭,Linus本人都没话说,估计是受害不浅。我们当然不能上当,选N!提供kexec系统调用, 可以不必重启而切换到另一个内核,如果需要就选择,对大多数用户来说并不需要。

    [ ] kernel crash dumps 

    //内核崩溃时,dump运行时信息。就算crash了,我也不会去调试内核的core dump

    [ ] Build a relocatable kerne l
    //建立一个移动的内核,除非特殊要求否则只是增大内核大小而已

    (0x1000000) Alignment value to which kernel should be aligned 
    //内核编译、运行时的物理地址匹配,不要更改该值除非你知道你在干嘛

    -*- Support for hot-pluggable CPUs 
    //对SMP休眠和热插拔CPU提供支持

    [ ] Compat VDSO support 不选
    //如果Glibc版本大于等于2.3.3就不选,否则就选上,目前的版本基本上都大于2.3.3

    [ ] Built-in kernel command line

     

     

     

     

     

    • 0
      点赞
    • 6
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值