Linux内核配置(二) :CPU类型配置

时间:2024-02-21 13:51:27

5. Processor type and features 处理器类型及特性
5.1. Symmetric multi-processing support (SMP) 对称多处理器支持。
这将支持有多CPU的系统。如果你的系统只有一个CPU,选N。反之,选Y。
如果你选N,内核将会在单个或者多个CPU的机器上运行,但是只会使用一个CPU。如果你选Y,内核可以在很多(但不是所有)单CPU的机器上运行,在这样的机器,你选N会使内核运行得更快。
注意如果你选Y,然后在Processor family选项中选择"586" or "Pentium" ,内核将不能运行在486构架的机器上。同样的,多CPU的运行于PPro构架上的内核也无法在 Pentium 系列的板上运行。
使用多CPU机器的人在这里选Y,通常也会在后面的选项“Enhanced Real Time Clock Support”中选Y。如果你在这选Y,"Advanced Power Management" 的代码将不可用。
如果不清楚,选N。
5.2. Subarchitecture Type 子构架类型
5.2.1. PC-compatible
选这个如果你的机器是标准PC
5.2.2. AMD Elan
注意,如果你是 K6/Athlon/Opteron处理器不要选这个
5.2.3. Voyager
5.2.4. NUMAQ (IBM/Sequent)
5.2.5. Summit/EXA (IBM x440)
5.2.6. SGI 320/540 (Visual Workstation)
5.2.7. Generic architecture (Summit, bigsmp, ES7000, default)
5.2.8. Support for Unisys ES7000 IA32 series
5.3. Processor family
处理器类型。针对自己的CPU类型,选取相应的选项。
这里是处理器的类型。这里的信息主要目的是用来优化。为了让内核能够在所有X86构架的CPU上运行(虽然不是最佳速度),在这你可以选386。
内核不会运行在比你选的构架还要老的机器上。比如,你选了Pentium构架来优化内核,它将不能在486构架上运行。
如果你不清楚,选386。
5.3.1. - "386"
5.3.2. - "486"
5.3.3. - "586"
5.3.4. - "Pentium-Classic"
5.3.5. - "Pentium-MMX"
5.3.6. - "Pentium-Pro"
5.3.7. - "Pentium-II"
5.3.8. - "Pentium-III"
5.3.9. - "Pentium-4"
5.3.10. - K6, K6-II and K6-III
5.3.11. - "Athlon" K7 (Athlon/Duron/Thunderbird).
5.3.12. -Opteron/Athlon64/Hammer/K8
5.3.13. - "Crusoe"
5.3.14. - "Efficeon"
5.3.15. - "Winchip-C6"
5.3.16. - "Winchip-2"
5.3.17. - "Winchip-2A"
5.3.18. - "GeodeGX1"
5.3.19. - "Geode GX/LX"
5.3.20. - "CyrixIII/VIA C3"
5.3.21. - VIA C3-2 "Nehemiah".
5.4. Generic x86 support
通用X86支持。
除了对上面你选择的X86 CPU进行优化,它还对更多类型X86 CPU的进行优化。这将会使内核在其他的X86 CPU上运行得更好。
对于供应商来说,他们非常需要这些功能,因为他们需要更通用的优化支持。
这个选项提供了对X86系列CPU最大的兼容性,用来支持一些少见的x86构架的CPU。如果你的CPU能够在上面的列表中找到,就里就不用选了。
5.5. HPET Timer Support
HPET时钟支持
允许内核使用 HPET 。HPET 是代替当前8254的下一代时钟,全称叫作高精度事件定时器。你可以安全地选Y。但是,HEPT只会在支持它的平台和BIOS上运行。如果不支持,8254将会激活。
选N,将继续使用8254时钟。
5.6. Maximum number of CPUs (2-255)
设置最高支持的CPU数,无法选择。我的显示为8。
5.7. SMT (Hyperthreading) scheduler support
超线程调度器支持
超线程调度器在某些情况下将会对 Intel Pentium 4 HT系列有较好的支持。
如果你不清楚,选N。
5.8. Multi-core scheduler support
多核调度机制支持,双核的CPU要选。
多核心调度在某些情况下将会对多核的CPU系列有较好的支持。
如果你不清楚,选N。
5.9. Preemptible Kernel 抢先式内核。
一些优先级很高的程序可以先让一些低优先级的程序执行,即使这些程序是在核心态下执行。从而减少内核潜伏期,提高系统的响应。当然在一些特殊的点的内核是不可抢先的,比如内核中的调度程序自身在执行时就是不可被抢先的。这个特性可以提高桌面系统、实时系统的性能。
下面有三个选项:
5.9.1. No Forced Preemption (Server) 非强迫式抢先。
这是传统的LINUX抢先式模型,针对于高吞吐量设计。它同样在很多时候会提供很好的响应,但是也可能会有较长的延迟。
如果你是建立服务器或者用于科学运算,选这项,或者你想要最大化内核的原始运算能力,而不理会调度上的延迟。
5.9.2. Voluntary Kernel Preemption (Desktop) 自动式内核抢先
这个选项通过向内核添加更多的“清晰抢先点”来减少内核延迟。这些新的抢先点以降低吞吐量的代价,来降低内核的最大延迟,提供更快的应用程序响应。这通过 允许低优先级的进程自动抢先来响应事件,即使进程在内核中进行系统调用。这使得应用程序运行得更“流畅”,即使系统已经是高负荷运转。
如果你是为桌面系统编译内核,选这项。
5.9.3. Preemptible Kernel (Low-Latency Desktop) 可抢先式内核(低延迟桌面)
这个选项通过使所有内核代码(非致命部分)编译为“可抢先”来降低内核延迟。
这通过允许低优先级进程进行强制抢先来响应事件,即使这些进程正在进行系统调用或者未达到正常的“抢先点”。这使得应用程序运行得更加“流畅”即使系统已经是高负荷运转。代价是吞吐量降低,内核运行开销增大。
选这项如果你是为桌面或者嵌入式系统编译内核,需要非常低的延迟。
如果你要最快的响应,选第三项。我认为万物是平衡的,低延迟意味着系统运行不稳定,因为过多来响应用户的要求,所以我选第二个。
5.10. Preempt The Big Kernel Lock
抢先式大内核锁(早期Linux用于支持SMP系统时所采用的非细粒度锁)
这个选项通过让大内核锁变成“可抢先”来降低延迟。
选Y如果你在构建桌面系统。如果你不清楚,选N。
5.11. Machine Check Exception 机器例外检查
机器例外检查允许处理器在检测到问题(比如过热、组件错误)时通知内核。内核根据问题的严重程度来决定下一步行为,比如在命令行上打印告警信息,或者关 机。你的处理器必须是 Pentium或者更新版本才能支持这个功能。 用cat /proc/cpuinfo来检测你的 CPU是否有mce 标志。
注意一些老的 Pentium 系统存在设计缺陷,会提供假的MCE事件,所以在所有P5处理器上MCE被禁用,除非在启动选项上明确 "mce"参数。同样地,如果MCE被编译入内核并在非标准的机器上导致错误,你可以用"nomce"启动参数来禁用MCE。
MCE功能会自动忽视非MCE处理器,比如386和486,所以几乎所有人都可以在这里选Y。
5.11.1. Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
检测AMD Athlon/Duron / Intel Pentium 4的非致命错误
允许这项特性,系统将会启动一个计时器,每5秒进行检测。非致命问题会自动修正(但仍然会记录下来),如果你不想看到这些信息,选N。这些信息可以让你发现要损坏的硬件,或者是非标准规格硬件(比如:超频的)。
这个功能只会在特定的CPU上起作用。
5.11.2. check for P4 thermal throttling interrupt.
检测P4节能器中断
当P4进入节能状态时,打印信息。
5.12. Toshiba Laptop support 东芝笔记本支持。
这个选项是针对Toshiba笔记本的,可以用来访问Toshiba的系统管理模式,可以直接设置BIOS。不过要注意它只在 Toshiba自己的 BIOS中起作用。假如你有一台Toshiba笔记本,而它的BIOS是Phoenix的,那这个选项仍然是无用的。
5.13. Dell laptop support
DELL笔记本支持。功能同上
5.14. Enable X86 board specific fixups for reboot
X86板的重启修复功能。
这将打开芯片或者主板上的重启修复功能 ,从而能够使之正常工作。这功能仅仅在一些硬件和BIOS的特定组合上需要。需要这项功能的征兆是重启时使系统卡死或者挂起。
目前,这个修复功能仅仅支持Geode GX1/CS5530A/TROM2.1.的组合。
选Y如果你需要这项功能,目前,选Y是安全的,即使你不需要它。否则,选N。
5.15. /dev/cpu/microcode - Intel IA32 CPU microcode support
是否支持Intel IA32架构的CPU。这个选项将让你可以更新Intel IA32系列处理器的微代码,显然你需要到网上去下载最新的代码,LINUX不提供这些代码。当然你还必须在文件系统选项中选择/dev file system support才能正常的使用它。如果你把它译为模块 ,它将是 microcode。
IA32主要用于高于4GB的内存。详见下面的“高内存选项”。
5.16. /dev/cpu/*/msr - Model-specific register support
是否打开CPU特殊功能寄存器的功能。这个选项桌面用户一般用不到,它主要用在Intel的嵌入式CPU中的,这个寄存器的作用也依赖与不同的CPU类型而有所不同,一般可以用来改变一些CPU原有物理结构的用途,但不同的CPU用途差别也很大。
5.17. /dev/cpu/*/cpuid - CPU information support
是否打开记录CPU相关信息功能。这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。
5.18. High Memory Support (4GB) 高容量内存支持
LINUX能够在X86系统中使用64GB的物理内存。但是,32位地址的X86处理器只能支持到4GB大小的内存。这意味着,如果你有大于4GB的物理内存,并非都能被内核“永久映射”。这些非永久映射内存就称为“高阶内存”。
如果你编译的内核永远都不会运行在高于1G内存的机器上,选OFF(默认选项,适合大多数人)。这将会产生一个"3GB/1GB"的内存空间划分,3GB 虚拟内存被内核映射以便每个处理器能够“看到”3GB的虚拟内存空间,这样仍然能够保持4GB的虚拟内存空间被内核使用,更多的物理内存能够被永久映射。
如果你有1GB-4GB之间的物理内存,选4GB选项。如果超过4GB,那么选择64GB。这将打开 Intel 的物理地址延伸模式(PAE)。PAE将在IA32处理器上执行3个层次的内存页面。PAE是被LINUX完全支持的,现在的Intel处理器 (Pentium Pro 和更高级的)都能运行PAE模式。注意:如果你选64GB,那么在不支持PAE的CPU上内核将无法启动。
你机器上的内存能够被自动探测到,或者你可以用类似于"mem=256M"的参数强制给内核指定内存大小。
5.18.1. off 如果不清楚,选OFF。
5.18.2. 4GB 选这项如果你用的是32位的处理器,内存在1-4GB之间。
5.18.3. 64GB 选这项如果你用的是32位的处理器,内存大于4GB。
5.19. Memory model 内存模式
5.19.1. Flat Memory 平坦内存模式。
这个选项允许你改变内核在内部管理内存的一些方式。大多数用户在这只会有一个选项:Flat Memory。这是普遍的和正确的选项。
一些用户的机器有更高级的特性,比如 NUMA 和内存热拔插,那将会有不同的选项。Discontiguous Memory(非接触式内存模式)是一个更成熟、更好的测试系统。但是对于内存热拔插系统不太合适,会被"Sparse Memory"代替。如果你不清楚"Sparse Memory"和"Discontiguous Memory"的区别,选后者。
如果不清楚,就选Flat Memory。
5.19.2. Sparse Memory 稀疏内存模式。
这对某些系统是唯一选项,包括内存热拔插系统。这正常。
对于其他系统,这将会被Discontiguous Memory选项代替。这个选项提供潜在的更好的特性,可以降低代码复杂度,但是它是新的模式,需要更多的测试。
如果不清楚,选择"Discontiguous Memory" 或 "Flat Memory"。
我的机器上只有这两个选项,我选Flat Memory。
5.20. 64 bit Memory and IO resources (EXPERIMENTAL)
64位内存和IO资源
这个选项将使内存和IO资源变成64位的。
实验选项,可以让内存和I/O变为64位。我的总线是32位的,所以还是不选了。选了不知道会不会出错。
5.21. Math emulation
数学仿真
LINUX可以仿真一个数学协处理器(用来进行浮点运算),如果你没有的话。486DX 和 Pentium 处理器内建有数学协处理器。486SX和386的没有,除非你专门加过487DX 或者387协处理器。所有人都需要协处理器或者这个仿真。
如果你没有数学协处理器,你需要在这选Y。如果你有了协处理器还在这选Y,你的协处理器仍然被用到。这意味着如果你打算把编译的内核用在不同的机器上,选Y是明智的选择。
如果不清楚,选Y,这将使内核增加66KB,无伤大雅。
5.22. MTRR (Memory Type Range Register) support
内存类型区域寄存器
在 Intel P6 系列处理器(Pentium Pro, Pentium II 和更新的)上,MTRR将会用来规定和控制处理器访问某段内存区域的策略。
如果你在PCI或者AGP总线上有VGA卡,这将非常有用。例如可将MTTR设为在显存的地址范围上使用“write-combining”策略,这样 CPU可以在PCI/AGP总线爆裂之前将多次数据传输集合成一个大的数据传输,这样可以提升图像的传送速度2.5倍以上。选Y,会生成文件 /proc/mtrr,它可以用来操纵你的处理器的MTRR。典型地,X server 会用到。
这段代码有着通用的接口,其他CPU的寄存器同样能够使用该功能。Cyrix 6x86, 6x86MX和 M II处理器有ARR ,它和 MTRR有着类似的功能。AMD K6-2/ K6-3有两个MTRR, Centaur C6有8个MCR允许复合写入。所有这些处理器都支持这段代码,你可以选Y如果你有以上处理器。
选Y同样可以修正SMP BIOS的问题,它仅为第一个CPU提供MTRR,而不为其他的提供。这会导致各种各样的问题,所以选Y是明智的。
你可以安全地选Y,即使你的机器没有MTRR。这会给内核增加9KB。
5.23. Boot from EFI support
EFI启动支持
这里允许内核在EFI平台上使用储存于EFI固件中的系统设置启动。这也允许内核在运行时使用EFI的相关服务。
这个选项只在有EFI固件的系统上有用,它会使内核增加8KB。另外,你必须使用最新的ELILO 登录器才能使内核采用EFI的固件设置来启动(GRUB和LILO完全不知道EFI是什么东西)。即使你没有EFI,却选了这个选项,内核同样可以启动。
大家应该用的是GRUB,所以选上这个也没什么用。
5.24. Enable kernel irq balancing (IRQBALANCE) 中断平衡。
这个选项使系统进行中断平衡。
如果你是双核CPU,如果不选这项,那么中断负荷都在第一个CPU上,其他的CPU可能得不到中断。
5.25. Use register arguments (REGPARM) 寄存器参数使用。
使用寄存器参数
用‘-mregparm=3’的参数编译内核。这使 gcc 使用更高效的应用程序二进制接口(ABI)来跳过编译时的前三个调用寄存器参数。这使得代码编译更精巧更快速。
如果你不选这个选项,默认的ABI将会使用。
如果不清楚,选Y。
5.26. Enable seccomp to safely compute untrusted bytecode (SECCOMP)
允许SECCOMP(快速计算)安全地运算非信任代码。
这个内核特性在程序出现数码错误,需要重新对非信任的代码进行运算时非常有效。它使用管道或者其他传输方式,使文件描述进程支持读/写的系统调用,这样可以利用SECCOMP隔离那些程序本身的空间。
一旦 seccomp 通过/proc/<pid>/seccomp运行,它将不能停止,任务也只能进行一些安全的被seccomp认证的系统调用。
如果不清楚,选Y。只有嵌入式系统选N。
5.27. Timer frequency 时钟频率
允许设置时钟频率。
这是用户定义的时钟中断频率 100HZ-1000 HZ ,不过 100 HZ 对服务器和NUMA系统更合适,它们不需要很快速的响应用户的要求,因为时钟中断会导致总线争用和缓冲打回。注意在SMP环境中,时钟中断由变量 NR_CPUS * Hz定义在每个CPU产生。
其实和前面的抢先式进程差不多,就是多少频率来响应用户要求。我选了250HZ的。要快点的可以选1000HZ的。但是还是那句话,一切是平衡的。机器过快响应你,它自己的活就不知道做得好不好了。
5.27.1. 100 HZ (HZ_100)
100 HZ是传统的对服务器、SMP 和 NUMA的系统选项。这些系统有比较多的处理器,可以在中断较集中的时候分担中断
5.27.2. 250 HZ (HZ_250)
250 HZ对服务器是一个好的折衷的选项,它同样在SMP 和 NUMA 系统上体现出良好的反应速度。
5.27.3. 1000 HZ (HZ_1000)
1000 HZ对于桌面和其他需要快速事件反应的系统是非常棒的。
5.28. kexec system call (KEXEC) 快速重启调用。
kexec 系统调用
kexec是一个用来关闭你当前内核,然后开启另一个内核的系统调用。它和重启很像,但是它不访问系统固件。由于和重启很像,你可以启动任何内核,不仅仅是LINUX。
kexec这个名字是从 exec 系统调用来的。它只是一个进程,可以确定硬件是否正确关闭,所以如果这段代码没能正确为你进行初始化工作,请不要奇怪。它对设备的热拔插会有点帮助。由于它对硬件接口会乱写点东西,所以我没什么好的建议给你。
Linus本人都没话说,估计是受害不浅。我们当然不能上当,选N!
5.29. Support for hot-pluggable CPUs (EXPERIMENTAL)
对热拔插CPU的支持
选Y,可以做个实验,把CPU关闭和打开,也可以中止SMP系统。CPU可以通过/sys/devices/system/cpu 来进行控制。
5.30. Compat VDSO support (COMPAT_VDSO)
Compat VDSO 支持
如果你运行的是最新的glibc(GNU C函数库)版本( 2.3.3 或更新),选N,这样可以移除高阶的VDSO 映射,使用随机的 VDSO。
如果不清楚,选Y。
5.31. Firmware Drivers 固件驱动。
固件就是你板上的BIOS、各种显卡芯片之类的已经固化好的记录某些特定数据的东西。
5.31.1. BIOS Enhanced Disk Drive calls determine boot disk
BIOS加强磁盘功能,确定启动盘。
选y或M,如果你要使用BIOS加强磁盘服务功能来确定BIOS用哪个磁盘来启动。启动后这个信息会反映在系统文件中。
这个选项是实验性的,而且已经被确认在某些未测试选项下会启动失败。很多磁盘控制器的BIOS供应商都不支持这个特性。
5.31.2. BIOS update support for DELL systems via sysfs
用于DELL机器的BIOS升级支持。
5.31.3. Dell Systems Management Base Driver (DCDBAS)
DELL系统管理器的基本驱动。
6. Power management options (ACPI, APM)
电源管理选项(ACPI、APM)
6.1. Power Management support
电源管理支持
电源管理意味着你电脑上的某一部分在不用的时候可以关闭或者休眠。这领域有两个竞争对手:APM和ACPI。如果你需要两者之一,请把这里选上,再把下面的相关内容选上。
电源管理对于使用电池的笔记本相当重要。如果你有笔记本,请参照几个网站上的说明。
注意,即使你在这选N,在X86构架的机器上,LINUX会发出 hlt 指令如果没有任务,因此会让处理器休眠,达到节电的目的。
6.1.1. Legacy Power Management API (PM_LEGACY)
电源管理继承接口
为pm_register() (电源管理寄存器)和同类寄存器提供支持。
如果不清楚,选Y。
6.1.2. Power Management Debug Support
电源管理调试支持
这个选项提供详细的电源管理调试信息。当你调试和报告电源管理漏洞的时候非常有用,有点像电源管理的“中断”支持。
6.1.3. Driver model /sys/devices/.../power/state files (DEPRECATED)
驱动模式文件 /sys/devices/.../power/state (不赞成使用)
这个驱动模式通过系统文件类型启动,试图来给电源管理设备提供用户空间连通装置。这个特性从来没有能很好地工作过,除非是用来进行测试,否则它处在被移除之列。我们不清楚用通用的方法能否进行各种各样的设备电源管理,目前是专用的总线和驱动来替代相关功能。
6.2. ACPI Support 高级电源配置接口支持
高级电源设置接口(ACPI)支持需要整合了ACPI的平台(固件/硬件),并且这个平台要支持操作系统和电源管理软件的设置。这个选项会给你的内核增加70KB。
LINUX ACPI提供了相当强大的电源接口,甚至可以取代一些传统的设置和电源管理接口,包括PNP BIOS(即插即用BIOS)规范,MPS(多处理器规范),和APM(高级电源管理)规范。如果ACPI和APM同时被选上,先被系统调用的起作用。
6.2.1. AC Adapter AC 交流电源适配器
这个驱动给AC 交流电源适配器提供支持,它指示出系统是否在AC下工作。如果你的系统可以在AC和电池状态下切换,选Y。
6.2.2. Battery 电池
这个驱动通过/proc/acpi/battery 提供电池信息。如果你有使用电池的移动系统,选Y。
6.2.3. Button 按钮
这个驱动通过电源、休眠、锁定按钮来提交事件。后台程序读取/proc/acpi/event 来运行用户要求的事件,比如关机。这对软件控制关机是必要的。
6.2.4. Video (ACPI_VIDEO) 视频
提供ACPI对主板上的集成显示适配器的扩展支持驱动。详见ACPI2.0驱动范例,附录B,它提供了基本支持,比如定义视频的启动设备、返回EDID信息或者设置视频传输等等。
注意这仅仅是文字上的信息而已。它可能(或许不可能)在你的集成显卡设备上运行。
6.2.5. Generic Hotkey (EXPERIMENTAL) 通用热键。
实验中的整合式热键驱动。
如果不清楚,选N。
6.2.6. 05.03.05、<*> Fan 风扇
这个驱动对ACPI风扇设备提供支持,允许用户模式的程序进行风扇的基本控制(开、关、状态显示)
6.2.7. Dock
提供ACPI Docking station支持
Docking station是笔记本的扩展坞,就是用来扩展笔记本电脑功能的底座,通过接口和插槽,它可以连接多种外部设备(驱动器、大屏幕显示器、键盘、打印机、扫 描仪……)。可以弥补轻薄笔记本电脑本身携带附件较少的缺陷,这种设计让用户在办公室里能够享受到台式机一样的便利和舒适,在移动办公时又能发挥笔记本的 便携性。
6.2.8. Processor 处理器
这个驱动以空闲管理者方式给LINUX安装ACPI,使用ACPI C2 和 C3处理器状态来节约电能,如果你的系统支持的话。一些CPU频率调节的驱动需要这个功能。
6.2.8.1. Thermal Zone
温控区域
ACPI温控区域驱动。大多数笔记本和台式机支持ACPI温控区域。强烈要求你选Y,否则你的处理器可能会坏掉。
6.2.9. ASUS/Medion Laptop Extras
华硕笔记本扩展支持
6.2.10. IBM ThinkPad Laptop Extras
IBM笔记本扩展支持
6.2.11. Toshiba Laptop Extras
Toshiba笔记本扩展支持
6.2.12. (0) Disable ACPI for systems before Jan 1st this year 千年虫
6.2.13. Debug Statements
调试语句
ACPI驱动可以自定义报告详细的错误信息。选Y开启这项功能,这将让你的内核增加50KB。
6.2.14. ACPI0004,PNP0A05 and PNP0A06 Container Driver
ACPI0004,PNP0A05 和PNP0A06 容器驱动
这里允许物理上对CPU和内存的插入和移除。这对一些系统,比如NUMA,非常有用,这些系统支持ACPI基本的物理拔插。
如果选择M,这个驱动可以通过命令:"modprobe acpi_container"加入。
6.2.15. Smart Battery System
袖珍电池系统
这个驱动对袖珍电池系统提供支持,依赖于I2C (在选项Device Drivers ---> I2C support) 。袖珍电池非常古老,也非常稀少,对于今天的ACPI支持的电池规范来说。
6.3. APM (Advanced Power Management) BIOS Support
高级电源管理BIOS支持。(APM)
ACPI和APM就好比XP和LINUX。我用了ACPI,这个就只编成模块放着,万一要用到再加模块。不清楚的可以先在机器上用ps -A|less看看有没有这个相关的进程。我的只有ACPID。
没有认真研究过下面的选项,也不列出来糊弄人了。要是用到APM的可以自己研究。
6.4. CPU Frequency scaling
6.4.1. CPU Frequency scaling
CPU变频控制
CPU变频控制允许你在运行中改变CPU的时钟速度。这是对于节约电能来说是一个不错的主意,因为CPU频率越低,它消耗的电能越少。
注意这个驱动不会自动改变CPU的时钟速度,你要么允许动态的频率调节器(看下面),要么使用用户工具。
如果不清楚,选N。
6.4.2. Enable CPUfreq debugging
是否允许调试CPU改变主频的功能,如果要调试,还需要在启动时加上参数。cpufreq.debug=<value> 1:变频技术的内核调试 2:变频技术的驱动调试 3:变频技术的调节器调试
6.4.3. CPU frequency translation statistics CPU频率统计功能
6.4.4. CPU frequency translation statistics details CPU频率统计功能(详细)
6.4.5. Default CPUFreq governor (performance) 默认的主频调节,圆括号内的是你选择的结果,这里表示以性能为主。
6.4.5.1. performance 性能优先
6.4.5.2. userspace 用户定义,可以设定频率。
6.4.6. \'performance\' governor性能调节器
6.4.7. \'powersave\' governor 节约电能调节器。
6.4.8. \'userspace\' governor for userspace frequency scaling 用户自定义调节器。
6.4.9. \'ondemand\' cpufreq policy governor 自动调节主频。
6.4.10. \'conservative\' cpufreq governor 传统方式调节
6.4.11. CPUFreq processor drivers 变频驱动模块
6.4.12. ACPI Processor P-States driver 报告处理器的状态。
6.4.13. AMD Mobile K6-2/K6-3 PowerNow! AMD移动版K6处理器的变频驱动。
6.4.14. AMD Mobile Athlon/Duron PowerNow! AMD移动版毒龙、雷乌的变频驱动。
6.4.15. Cyrix MediaGX/NatSemi Geode Suspend Modulation Cyrix处理器的变频驱动。
6.4.16. Intel Enhanced SpeedStep Intel的移动变频技术支持。
6.4.16.1. Use ACPI tables to decode valid frequency/voltage pairs 使用BIOS中的主频/电压参数。
6.4.16.2. Built-in tables for Banias CPUs 迅驰一代的主频/电压参数。
笔记本 : 什么是迅驰技术
2003年3月英特尔正式发布了迅驰移动计算技术,英特尔的迅驰移动计算技术并非以往的处理器、芯片组等 单一产品形式,其代表了一整套移动计算解决方案,迅驰的构成分为三个部分:奔腾M处理器、855/915系列芯片组和英特尔PRO无线网上,三项缺一不可 共同组成了迅驰移动计算技术。
奔腾M首次改版叫Dothan
在两年多时间里,迅驰技术经历了一次改版和一次换代。初期迅驰中奔腾M处理器的核心代号为Bannis,采用130纳米工艺,1MB高速二级缓存, 400MHz前端总线。迅驰首次改版是在2004年5月,采用90纳米工艺Dothan核心的奔腾M处理器出现,其二级缓存容量提供到2MB,前端总线仍 为400MHz,它也就是我们常说的Dothan迅驰。首次改版后,Dothan核心的奔腾M处理器迅速占领市场,Bannis核心产品逐渐退出主流。虽 然市场中流行着将Dothan核心称之为迅驰二代,但英特尔官方并没有给出明确的定义,仍然叫做迅驰。也就是在Dothan奔腾M推出的同时,英特尔更改 了以主频定义处理器编号的惯例,取而代之的是一系列数字,例如:奔腾M 715/725等,它们分别对应1.5GHz和1.6GHz主频。首次改版中,原802.11b无线网卡也改为了支持802.11b/g规范,网络传输从 11Mbps提供至14Mbps.
新一代迅驰Sonoma
迅驰的换代是2005年1月19日,英特尔正式发布基于Sonoma平台的新一代迅驰移动计算技术,其构成组件中,奔腾M处理器升级为Dothan核心、 90纳米工艺、533MHz前端总线和2MB高速二级缓存,处理器编号由奔腾M 730—770,主频由1.60GHz起,最高2.13GHz。915GM/PM芯片组让迅驰进入了PCI-E时代,其中915GM整合了英特尔 GMA900图形引擎,让非独立显卡笔记本在多媒体性能上有了较大提高。915PM/GM还支持单通道DDR333或双通道DDR2 400/533MHz内存,性能提供同时也降低了部分功耗。目前Sonoma平台的新一代迅驰渐渐成为市场主流。
6.4.17. Intel Speedstep on ICH-M chipsets (ioport interface) Intel ICH-M移动南桥芯片组的支持
6.4.18. Intel Pentium 4 clock modulation P4处理器的时钟模块支持。
6.4.19. Transmeta LongRun Transmeta处理器的支持。
6.4.20. VIA Cyrix III Longhaul VIA Cyrix处理器的支持。
6.4.21. shared options
6.4.22. /proc/acpi/processor/../performance interface (deprecated) 从/proc/acpi/processor/../performance获得CPU的变频信息。
6.4.23. Relaxed speedstep capability checks
不全面检测Intel Speedstep,有的系统虽然支持Speedstep技术,却无法通过全面的检测。
7. Bus options (PCI, PCMCIA, EISA, MCA, ISA) 总线选项

7.1. PCI support
PCI总线支持(一定要进内核,不能编成模块)
找找你的主板资料,看看你用的是不是PCI主板。PCI是总线系统的名称,是CPU用来与其他设备进行通信的通道。其他总线系统有ISA、EISA、MCA和VESA。如果你有PCI,选Y。否则,选N。
7.1.1. PCI access mode (Any)
PCI访问模式
在PCI系统中,BIOS可以检测PCI设备和确定它们的设置。但是,一些老的PCI主板有BIOS问题,如果这里选上会让系统当机。同时,一些嵌入式的基于PCI系统没有任何BIOS。LINUX可以在不使用BIOS的情况下尝试直接检测PCI硬件。
选上这个以后,你可以设定LINUX如果检测PCI设备。如果你选择"BIOS",BIOS会用到。你选 "Direct", BIOS不会用到。如果你选"MMConfig",PCI加速的 MMCONFIG 会用到。如果你选"Any" ,内核先用 MMCONFIG ,然后 "Direct",最后才是"BIOS"如果前面的都无法工作。如果不清楚,选"Any"。
7.1.1.1. BIOS
7.1.1.2. MMConfig
7.1.1.3. Direct
7.1.1.4. Any
7.1.2. PCI Express support
PCI Express 支持
这里自动支持 PCI Express 端口总线。用户可以选择 Native Hot-Plug support, Advanced Error Reporting support,
Power Management Event support,Virtual Channel support 4个选项来支持 PCI Express 端口(启动或者切换)。
我的板是PCI Express。大家可以用lshw|less来看看自己的PCI是什么类型。
7.1.2.1. Root Port Advanced Error Reporting support
高级启动错误报告支持。
7.1.3. Message Signaled Interrupts (MSI and MSI-X)
信息信号中断
这允许设备驱动开启MSI。MSI允许一个设备用非装订内存写入方式在自己的PCI总线中产生一个中断,而不是常规的IRQ针脚中断。
在内核启动时,用 \'pci=nomsi\'选项可以禁用PCI MSI中断。这将在整个系统禁用MSI。
如果不知道怎么做,选N。
7.1.4. Interrupts on hypertransport devices
高速传输设备中断
允许高速传输设备使用中断。
如果不清楚,选Y。
7.2. ISA support ISA总线
看看你主板上是否有ISA插槽。ISA是比较老的总线,现已基本被PCI取代。如果你没有老式的ISA设备,可以不选这项。不过我估计你的主板上应该会有 ISA总路。因为我的INTEL 945板都还有一路,接老式打印机用的。选上备用。如果你认为你永远都不会用到那一路的话,可以不选。
7.2.1. EISA support
扩展工业标准架构总线(EISA)是为IBM 微通道开发的项目。EISA总线可以为IBM 微通道提供一些特性,如果你在使用很老的卡。目前EISA很少用到,已经被PCI取代。选Y,如果你为ESIA系统编译内核。否则,选N。
7.2.2. MCA support
IBM PS/2上的总线,现已淘汰,建议关闭。微通道总线IBM的台式机和笔记本上可能会有这种总线,包括它的p系列、e系列、z系列机器上都用到了这种总线。
7.2.3. NatSemi SCx200 support
松下的一种半导体处理器的驱动。
7.3. PCCARD (PCMCIA/CardBus) support
一般只有笔记本电脑上才会有PCMCIA插槽,如果你是台式机的话,可以不选这一项,然后跳过这一部份。我的IBM机器是办公用的,经常会临时接一些乱七八糟的设备。我自己都不知道哪些设备需要什么模块。所以这里我都搞成模块,免得以后接上用不了,又得切换到XP下。
7.3.1. PCCard (PCMCIA/CardBus) support
PCI Hotplug Support
PCI热插拨支持
选Y,如果你的主板有PCI热拔插控制器,这允许你热拔插PCI卡。
选M,将编译为模块,叫做pci_hotplug。
如果不清楚,选N。
一般来讲只有服务器上会有热插拔的设备,如果你使用的是台式机,你可以不选择此项并跳过这一部份。
8. Executable file formats

可执行文件格式。
8.1. Kernel support for ELF binaries
ELF支持
ELF(可执行和可链接格式)是一种用来连接不同架构和操作系统的可执行文件、库函数格式。选Y,你的内核可以运行ELF二进制文件,这也使你的内核增大13KB。
ELF现在基本代替了传统的 a.out 格式(QMAGIC and ZMAGIC用到),因为它是可移植的(可移植不代表它可以直接运行在不同构架和操作系统上),而且建立相关运行库文件非常容易。很多新的可执行文件都用ELF格式发布,你在这里当然要选Y。
8.2. Kernel support for a.out and ECOFF binaries
对 a.out 和 ECOFF 二进制文件的支持
A.out (Assembler.OUTput)是一种二进制文件格式,它用在最早的UNIX版本中。LINUX在QMAGIC 和 ZMAGIC两个镜像中使用A.out,直到它最近被ELF取代。ELF的转变开始于1995年。这个选项主要是给研究历史的人提供感兴趣的信息,或者你 要是有那个年代的文件,你需要这个选项。
大多数人在这可以选N。如果你认为你有可能会用到这个格式,选M编译成模块。模块名为binfmt_aout。如果你系统的关键部件(比如/sbin/init 或者 /lib/ld.so)是 a.out 格式的的,你要在这选Y。
8.3. Kernel support for MISC binaries
内核对 MISC 二进制文件的支持
如果你在这选Y,它将可以将 wrapper-driven 二进制格式嵌入内核。当你使用一些程序的解释器时,比如 Java, Python, .NET或者Emacs-Lisp,或者当你经常通过DOS 仿真器运行DOS程序时,它将非常有用。当你在这个选项选Y,你可以简单地通过在shell打相应命令运行以上的程序,LINUX可以自动匹配正确的格 式。
要使用 binfmt_misc 你可能需要挂载它:
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
你可以选M作为模块,以后再加载,模块名为 binfmt_misc。如果你不知道怎么办,选Y。