《Linux2.6内核配置参考》由会员分享,可在线阅读,更多相关《Linux2.6内核配置参考(79页珍藏版)》请在金锄头文库上搜索。
1、POSIX 消息队列支持 BSD Process Accounting 将进程的统计信息写入文件的用户级系统调用 ,主要包括进程的创建时间 /创建者 /内存占用等信息 BSD Process Accounting version 3 file format 使用新的第三版文件格式 ,可以包含每个进程的 PID 和其父进程的 PID,但是不兼容老版本的文件格式 Export task/process statistics through netlink 通过 netlink 接口向用户空间导出任务 /进程的统计信息 ,与 BSD Process Accounting 的不同之处在于这些统计信息在
2、整个任务 /进程生存期都是可用的 Enable per-task delay accounting 在统计信息中包含进程等候系统资源 (cpu,IO 同步 ,内存交换等 )所花费的时间 UTS Namespaces UTS 名字空间支持 ,不确定可以不选 Auditing support 审计支持 ,某些内核模块 (例如 SELinux) 需要它 ,只有同时选择其子项才能对系统调用进行审计 Enable system-call auditing support 支持对系统调用的审计 Kernel .config support 把内核的配置信息编译进内核中 ,以后可以通过 scripts/ex
3、tract-ikconfig脚本来提取这些信息 Enable access to .config through /proc/config.gz 允许通过 /proc/config.gz 访问内核的配置信息 Cpuset support 只有含有大量 CPU( 大于 16个 )的 SMP 系统或 NUMA( 非一致内存访问 )系统才需要它 Kernel-user space relay support (formerly relayfs) 在某些文件系统上 (比如 debugfs) 提供从内核空间向用户空间传递大量数据的接口 Initramfs source file(s) initrd 已经
4、被 initramfs 取代 ,如果你不明白这是什么意思 ,请保持空白 Optimize for size (Look out for broken compilers!) 编译时优化内核尺寸 (使用 而不是 参数编译 ),有时会产生错误的二进制代码 Enable extended accounting over taskstats 收集额外的进程统计信息并通过 taskstats 接口发送到用户空间 Configure standard kernel features (for small systems) 配置标准的内核特性 (为小型系统 ) Enable 16-bit UID syste
5、m calls 允许对 UID 系统调用进行过时的 16-bit 包装 Sysctl syscall support 不需要重启就能修改内核的某些参数和变量 ,如果你也选择了支持 /proc,将能从 /proc/sys 存取可以影响内核行为的参数或变量 Load all symbols for debugging/kksymoops 装载所有的调试符号表信息 ,仅供调试时选择 Include all symbols in kallsyms 在 kallsyms 中包含内核知道的所有符号 ,内核将会增大 300K Do an extra kallsyms pass 除非你在 kallsyms 中
6、发现了 bug 并需要报告这个 bug 才打开该选项 Support for hot-pluggable devices 支持热插拔设备 ,如 usb 与 pc 卡等 ,Udev 也需要它 Enable support for printk 允许内核向终端打印字符信息 ,在需要诊断内核为什么不能运行时选择 BUG() support 显示故障和失败条件 (BUG 和 WARN),禁用它将可能导致隐含的错误被忽略 Enable ELF core dumps 内存转储支持 ,可以帮助调试 ELF 格式的程序 Enable full-sized data structures for core 在内
7、核中使用全尺寸的数据结构 .禁用它将使得某些内核的数据结构减小以节约内存 ,但是将会降低性能 Enable futex support 快速用户空间互斥体可以使线程串行化以避免竞态条件 ,也提高了响应速度 .禁用它将导致内核不能正确的运行基于 glibc 的程序 Enable eventpoll support 支持事件轮循的系统调用 Use full shmem filesystem 完全使用 shmem 来代替 ramfs.shmem 是基于共享内存的文件系统 (可能用到 swap), 在启用 TMPFS 后可以挂载为 tmpfs 供用户空间使用 ,它比简单的 ramfs 先进许多 Use
8、 full SLAB allocator 使用 SLAB 完全取代 SLOB 进行内存分配 ,SLAB 是一种优秀的内存分配Do an extra kallsyms pass 除非你在 kallsyms 中发现了 bug 并需要报告这个 bug 才打开该选项 Support for hot-pluggable devices 支持热插拔设备 ,如 usb 与 pc 卡等 ,Udev 也需要它 Enable support for printk 允许内核向终端打印字符信息 ,在需要诊断内核为什么不能运行时选择 BUG() support 显示故障和失败条件 (BUG 和 WARN),禁用它将可能
9、导致隐含的错误被忽略 Enable ELF core dumps 内存转储支持 ,可以帮助调试 ELF 格式的程序 Enable full-sized data structures for core 在内核中使用全尺寸的数据结构 .禁用它将使得某些内核的数据结构减小以节约内存 ,但是将会降低性能 Enable futex support 快速用户空间互斥体可以使线程串行化以避免竞态条件 ,也提高了响应速度 .禁用它将导致内核不能正确的运行基于 glibc 的程序 Enable eventpoll support 支持事件轮循的系统调用 Use full shmem filesystem 完全
10、使用 shmem 来代替 ramfs.shmem 是基于共享内存的文件系统 (可能用到 swap), 在启用 TMPFS 后可以挂载为 tmpfs 供用户空间使用 ,它比简单的 ramfs 先进许多 Use full SLAB allocator 使用 SLAB 完全取代 SLOB 进行内存分配 ,SLAB 是一种优秀的内存分配Enable the block layer 块设备支持 ,使用硬盘 /USB/SCSI 设备者必选 Support for Large Block Devices 仅在使用大于 2TB 的块设备时需要 Support for tracing block io acti
11、ons 块队列 IO 跟踪支持 ,它允许用户查看在一个块设备队列上发生的所有事件 ,可以通过 blktrace 程序获得磁盘当前的详细统计数据 Support for Large Single Files 仅在可能使用大于 2TB 的文件时需要 IO Schedulers IO 调度器 Anticipatory I/O scheduler 假设一个块设备只有一个物理查找磁头 (例如一个单独的 SATA 硬盘 ),将多个随机的小写入流合并成一个大写入流 ,用写入延时换取最大的写入吞吐量 .适用于大多数环境 ,特别是写入较多的环境 (比如文件服务器 ) Deadline I/O scheduler
12、 使用轮询的调度器 ,简洁小巧 ,提供了最小的读取延迟和尚佳的吞吐量 ,特别适合于读取较多的环境 (比如数据库 ) CFQ I/O scheduler 使用 QoS 策略为所有任务分配等量的带宽 ,避免进程被饿死并实现了较低的延迟 ,可以认为是上述两种调度器的折中 .适用于有大量进程的多用户系统 Default I/O scheduler 默认 IO 调度器 Enable the block layer 块设备支持 ,使用硬盘 /USB/SCSI 设备者必选 Support for Large Block Devices 仅在使用大于 2TB 的块设备时需要 Support for traci
13、ng block io actions 块队列 IO 跟踪支持 ,它允许用户查看在一个块设备队列上发生的所有事件 ,可以通过 blktrace 程序获得磁盘当前的详细统计数据 Support for Large Single Files 仅在可能使用大于 2TB 的文件时需要 IO Schedulers IO 调度器 Anticipatory I/O scheduler 假设一个块设备只有一个物理查找磁头 (例如一个单独的 SATA 硬盘 ),将多个随机的小写入流合并成一个大写入流 ,用写入延时换取最大的写入吞吐量 .适用于大多数环境 ,特别是写入较多的环境 (比如文件服务器 ) Deadli
14、ne I/O scheduler 使用轮询的调度器 ,简洁小巧 ,提供了最小的读取延迟和尚佳的吞吐量 ,特别适合于读取较多的环境 (比如数据库 ) CFQ I/O scheduler 使用 QoS 策略为所有任务分配等量的带宽 ,避免进程被饿死并实现了较低的延迟 ,可以认为是上述两种调度器的折中 .适用于有大量进程的多用户系统 Default I/O scheduler 默认 IO 调度器 Voluntary Kernel Preemption (Desktop) 适合普通桌面环境的自愿内核抢占 Preemptible Kernel (Low-Latency Desktop) 适合运行实时程序
15、的主动内核抢占 Preempt The Big Kernel Lock 可以抢占大内核锁 ,应用于实时要求高的场合 ,不适合服务器环境 Machine Check Exception 让 CPU 检测到系统故障时通知内核 ,以便内核采取相应的措施 (如过热关机等 ) Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 每 5 秒检测一次这些 cpu 的非致命错误并纠正它们 ,同时记入日志 check for P4 thermal throttling interrupt 当 P4 的 cpu 过热时显示一条警告消息 Enable VM86 support 虚拟 X86支持 ,在 DOSEMU 下运行 16-bit 程序或 XFree86 通过 BIOS 初始化某些显卡的时候才需要 Toshiba Laptop support Toshiba 笔记本模块支持 Dell laptop support Dell 笔记本模块支持 Enable X86 board specific fixups for reboot 修正某些旧 x86 主板的重起 bug, 这种主板基本绝种了 /dev/cpu/microcode - Intel IA32 CPU microc