[*] Enable loadable module support --->
[ ] Forced module loading
//允许强制加载模块,不选
[*] Module unloading
//允许卸载已经加载的模块,选上比较好
[ ] Forced module unloading
//这个选项能强行卸载模块,即使内核认为这样并不安全,也就是说你可以把正在使用中的模快卸载掉。如果你不是内核开发人员或者骨灰级的玩家,不要选择这个选项
[ ] Module versioning support
//有时候,你需要编译模块。选这项会添加一些版本信息,来给编译的模块提供独立的特性,以使不同的内核在使用同一模块时区别于它原有的模块。这有时可能会有点用。还是那个建议,如果是内核或者模块开发人员或者是骨灰玩家,可以选上,如果是普通用户,还是别选了,没用。
[ ] Source checksum for all modules
//为所有的模块校验源码,如果你不是自己编写内核模块就不需要。这个功能是为了防止更改了内核模块的代码但忘记更改版本号而造成版本冲突。我估计现在没有哪家公司在开发中还没使用版本控制工具,所以不需要这项了。如果你不是自己写内核模块,那就更不需要这一选项了。
-*- Enable the block layer --->
块设备支持,使用硬盘/USB/SCSI设备者必选, 子属性唔明 保持默认吧。。
Processor type and features --->
cpu类型和特征
[*] Tickless System (Dynamic Ticks)
非固定频率系统,这项技术能让新内核运行的更有效率,并且更省电。动态时间片意思是当 CPU处于空闲时,降低内核定时器的轮询频率。
[] High Resolution Timer Support
支持高频率时间发生器,如果硬件不兼容,则这个选项只会增大内核(大多数个人PC并没有这个)。一般用户可关闭。
[*] Symmetric multi-processing support
对称多处理器支持,如果你有多个CPU或者使用的是多核CPU就选上
[*] Enable MPS table
让多核 / 多 CPU 系统支持 ACPI,可选
[] Support for extended (non-PC) x86 platforms
我是X86平台,不需要再支持其他平台
[*] Single-depth WCHAN output
跟 proc 相关的最好不要关
[ ] Paravirtualized guest support --->
虚拟化客户端支持,没有什么用处,不选
[ ] Memtest
内存测试,忽略
Processor family (Generic-x86-64) --->
看自己的cpu类型 我的烂U 是AMD P360, 拣左general x86_64
[*] IBM Calgary IOMMU support
IBM IOMMU 支持 可以参考http://baike.baidu.com/view/3100269.htm 按默认选上把。。
[*] Should Calgary be enabled by default?
同上
[ ] Enable Maximum number of SMP Processors and NUMA Nodes
唔sure,保持默认唔选
(4) Maximum number of CPUs
支持的最大CPU数量,这个没多大意义,填4填8影响微乎其微。注意是CPU核心数。如果是超线程处理器需要再乘以2.
[ ] SMT (Hyperthreading) scheduler support
Intel U 超线程支持,我的AMD。。
[*] Multi-core scheduler support
针对多核CPU进行调度策略优化多核调度机制支持,双核的CPU要选。多核心调度在某些情况下将会对多核的CPU系列有较好的支持。我的是双核,选之。
[ ] Fine granularity task level IRQ time accounting
吴清楚 , 保持默认不选
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
[*] AMD MCE features
我的是AMD U。。。
< > Machine check injector support
//让CPU检测到系统故障时通知内核,以便内核采取相应的措施(如过热关机等) 貌似同上面重复? 吴清楚保持默认吴选
< > Dell laptop support
屌丝只用得起惠普笔记本。
<> /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
是否打开记录CPU相关信息功能。这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。能从/dev/cpu/x/cpuid 获得CPU的唯一标识符(CPUID),暂时不选
[ ] Numa Memory Allocation and Scheduler Support
唔清楚乜来的, 保持默认。
[]Memory model (Sparse Memory) --->
正常用户选用平坦内存模式。 但系我只有离散模式Sparse Memory1个选项,睇来我系吴正常的。
[*]Sparse Memory virtual memmap
唔清楚乜来的, 保持默认。
[ ] Allow for memory hot-add
内存热插拔..
[ ] Allow for memory compaction
内存压缩..
[ ] Enable KSM for page merging
一项与KVM虚拟机有关的内存管理技术,不必要不用选。
(4096) Low address space to protect from user allocation
唔清楚乜来的, 保持默认
[ ] Enable recovery from hardware memory errors
允许修复内存硬伤..既然是硬伤就换过条拉,反正内存白菜价
[]Transparent Hugepage Support
唔清楚乜来的, 保持默认
[ ] Enable cleancache driver to cache clean pages if tmem is present
唔清楚乜来的, 保持默认
[ ] Check for low memory corruption
低位内存脏数据检查,默认是每60秒检查一次。一般这种脏数据是因某些Bios处理不当引起的。我信任我目前的虚拟bios版本。故不选。
(64) Amount of low memory, in kilobytes, to reserve for the BIOS
唔清楚乜来的, 保持默认
-*- MTRR (Memory Type Range Register) support
内存类型区域寄存器。在 Intel P6 系列处理器(Pentium Pro, Pentium II 和更新的)上,MTRR将会用来规定和控制处理器访问某段内存区域的策略。如果你在PCI或者AGP总线上有VGA卡,这将非常有用。可以提升图像的传送 速度2.5倍以上。选Y,会生成文件/proc/mtrr,它可以用来操纵 你的处理器的MTRR。典型地,X server 会用到。这段代码有着通用的接口,其他CPU的寄存器同样能够使用该功能。Cyrix 6×86, 6×86MX和 M II处理器有ARR ,它和 MTRR有着类似的功能。AMD K6-2/ K6-3有两个MTRR, Centaur C6有8个MCR允许复合写入。所有这些处理器都支持这段代码,你可以选Y如果你有以上处理器。选Y同样可以修正SMP BIOS的问题,它仅为第一个CPU提供MTRR,而不为其他的提供。这会导致各种各样的问题,所以选Y是明智的。你可以安全地选Y,即使你的机器没有 MTRR。这会给内核增加9KB。打开它可以提升PCI/AGP总线上的显卡2倍以上的速度,并且可以修正某些BIOS错误
[ ] MTRR cleanup support
//MTRR清理,选不选随意吧,我没选
[ ] EFI runtime service support
EFI 启动支持这里允许内核在EFI平台上使用储存于EFI固件中的系统设置启动。这也允许内核在运行时使用EFI的相关服务。这个选项只在有EFI固件的系统 上有用,它会使内核增加8KB。另外,你必须使用最新的ELILO 登录器才能使内核采用EFI的固件设置来启动(GRUB和LILO完全不知道EFI是什么东西)。即使你没有EFI,却选了这个选项,内核同样可以启动。 大家应该用的是GRUB,所以选上这个也没什么用。除非你的系统支持EFI(一种可代替传统BIOS的技术)否则不选
[*] Enable seccomp to safely compute untrusted bytecode
只有嵌入式系统可以不选
唔清楚乜来的, 保持默认
Timer frequency (1000 HZ) --->
桌面1000 服务器100或250,允许设置时钟频率。这是用户定义的时钟中断频率 100HZ-1000 HZ ,不过 100 HZ 对服务器和NUMA系统更合适,它们不需要很快速的响应用户的要求,因为时钟中断会导致总线争用和缓冲打回。其实和前面的抢先式进程差不多,就是多少频率 来响应用户要求。但是还是那 句话,一切是平衡的。机器过 快响应你,它自己的活就不知道做得好不好了。
[] kexec system call
kexec 系统调用。kexec是一个用来关闭你当前内核,然后开启另一个内核的系统调用。它和重启很像,但是它不访问系统固件。由于和重启很像,你可以启动任何内 核,不仅仅 是LINUX。kexec这个名字是从 exec 系统调用来的。它只是一个进程,可以确定硬件是否正确关闭,Linus本人都没话说,估计是受害不浅。我们当然不能上当,选N!提供kexec系统调用, 可以不必重启而切换到另一个内核,如果需要就选择,对大多数用户来说并不需要。
内核崩溃时,dump运行时信息。就算crash了,我也不会去调试内核的core dump
[ ] Build a relocatable kernel
建立一个移动的内核,除非特殊要求否则只是增大内核大小而已
-*- Support for hot-pluggable CPUs
对SMP休眠和热插拔CPU提供支持
[ ] Compat VDSO support
如果Glibc版本大于等于2.3.3就不选,否则就选上,目前的版本基本上都大于2.3.3
唔清楚乜来的, 保持默认
cpu部分配置完了 下一篇继续
http://nvd11.blog.163.com/blog/static/20001831220127254852277/