Code maturity level options
代碼成熟度選項
- Prompt for development and/or incomplete code/drivers
- 顯示尚在開發中或尚未完成的代碼與驅動.除非你是測試人員或者開發者,否則請勿選擇
General setup
常規設置
- Local version - append to kernel release
- 在內核版本後面加上自定義的版本字符串(小於64字符),可以用"uname -a"命令看到
- Automatically append version information to the version string
- 自動在版本字符串後面添加版本信息,編譯時需要有perl以及git倉庫支持
- Support for paging of anonymous memory (swap)
- 使用交換分區或者交換文件來做爲虛擬內存
- System V IPC
- System V進程間通信(IPC)支持,許多程序需要這個功能.必選,除非你知道自己在做什麼
- IPC Namespaces
- IPC命名空間支持,不確定可以不選
- POSIX Message Queues
- POSIX消息隊列,這是POSIX IPC中的一部分
- BSD Process Accounting
- 將進程的統計信息寫入文件的用戶級系統調用,主要包括進程的創建時間/創建者/內存佔用等信息
- BSD Process Accounting version 3 file format
- 使用新的第三版文件格式,可以包含每個進程的PID和其父進程的PID,但是不兼容老版本的文件格式
- Export task/process statistics through netlink
- 通過netlink接口向用戶空間導出任務/進程的統計信息,與BSD Process Accounting的不同之處在於這些統計信息在整個任務/進程生存期都是可用的
- Enable per-task delay accounting
- 在統計信息中包含進程等候系統資源(cpu,IO同步,內存交換等)所花費的時間
- UTS Namespaces
- UTS名字空間支持,不確定可以不選
- Auditing support
- 審計支持,某些內核模塊(例如SELinux)需要它,只有同時選擇其子項才能對系統調用進行審計
- Enable system-call auditing support
- 支持對系統調用的審計
- Kernel .config support
- 把內核的配置信息編譯進內核中,以後可以通過scripts/extract-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已經被initramfs取代,如果你不明白這是什麼意思,請保持空白
- Optimize for size (Look out for broken compilers!)
- 編譯時優化內核尺寸(使用"-Os"而不是"-O2"參數編譯),有時會產生錯誤的二進制代碼
- Enable extended accounting over taskstats
- 收集額外的進程統計信息並通過taskstats接口發送到用戶空間
- Configure standard kernel features (for small systems)
- 配置標準的內核特性(爲小型系統)
- Enable 16-bit UID system 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中發現了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
- 在內核中使用全尺寸的數據結構.禁用它將使得某些內核的數據結構減小以節約內存,但是將會降低性能
- Enable futex support
- 快速用戶空間互斥體可以使線程串行化以避免競態條件,也提高了響應速度.禁用它將導致內核不能正確的運行基於glibc的程序
- Enable eventpoll support
- 支持事件輪循的系統調用
- Use full shmem filesystem
- 完全使用shmem來代替ramfs.shmem是基於共享內存的文件系統(可能用到swap),在啓用TMPFS後可以掛載爲tmpfs供用戶空間使用,它比簡單的ramfs先進許多
- Use full SLAB allocator
- 使用SLAB完全取代SLOB進行內存分配,SLAB是一種優秀的內存分配管理器,推薦使用
- Enable VM event counters for /proc/vmstat
- 允許在/proc/vmstat中包含虛擬內存事件記數器
...轉載自:http://lamp.linux.gov.cn/Linux/kernel_options.html