Linux-3.10-x86_64 内核配置选项简介
64-bit CONFIG_64BIT
编译64位内核.本文仅讲述x86_64(AMD64)平台的内核编译,所以这个是必选项.
kernel
General setup 常规设置
Cross-compiler CONFIG_CROSS_COMPILE
交叉编译工具前缀(比如\相当于使用\CROSS_COMPILE=arm-linux-\进行编译).除非你想配置后默认自动进行交叉编译,否则不要使用此选项. Local
version
-
append
to
kernel
release
tool
prefix
CONFIG_LOCALVERSION
在内核版本后面加上自定义的版本字符串(最大64字符),可以用\-a\命令看到
Automatically append version information to the version string CONFIG_LOCALVERSION_AUTO
自动在版本字符串(CONFIG_LOCALVERSION)后面添加版本信息(类似\格式),需要有perl以及git仓库支持 Kernel compression mode
内核镜像的压缩格式,可选Gzip/Bzip2/LZMA/XZ/LZO格式之一,推荐使用XZ格式.你的系统中需要有相应的压缩工具. Default
CONFIG_DEFAULT_HOSTNAME
设置默认主机名,默认值是\用户可以随后使用系统调用sethostname()来修改主机名. Support CONFIG_SWAP
for
paging
of
anonymous
memory
(swap) hostname
使用交换分区或者交换文件来做为虚拟内存 System CONFIG_SYSVIPC
System V 进程间通信(IPC)支持,用于进程间同步和交换数据,许多程序需要这个功能.选\除非你确实知道自己在做什么 POSIX
CONFIG_POSIX_MQUEUE
POSIX消息队列是POSIX IPC的一部分,如果你想编译和运行那些使用\系统调用的程序(比如为Solaris开发的程序),就必须开启此选项.POSIX消息队列可以作为\文件系统挂载以方便用户对队列进行操作.不确定的选\open
CONFIG_FHANDLE
用户程序可以使用句柄(而非文件名)来追踪文件(使用open_by_handle_at(2)/name_to_handle_at(2)系统调用),即使某文件被重命名,用户程序依然可定位那个文件.此特性有助于实现用户空间文件服务器(userspace file server).建议选\因为systemd和udev依赖于它. Auditing CONFIG_AUDIT
内核审计(跟踪每个进程的活动情况)支持,某些安全相关的内核子系统(例如SELinux)需要它.但是它会与systemd冲突,所以在使用systemd的系统上必须关闭. Enable
system-call
auditing
support support
by
fhandle
syscalls
Message
Queues
V
IPC
CONFIG_AUDITSYSCALL
对系统调用进行审计.既可独立使用,也可被其他内核子系统(例如SELinux)使用. Make
audit
loginuid
immutable
CONFIG_AUDIT_LOGINUID_IMMUTABLE
审计时使用固定的loginuid.在使用systemd之类的系统上应该开启(login服务由init进程负责重启),在使用SysVinit或Upstart之类的系统上应该关闭(login服务由系统管理员手动重启).OpenRC就是一个基于SysVinit的系统. IRQ subsystem IRQ(中断请求)子系统 Expose
hardware/virtual
IRQ
mapping
via
debugfs
CONFIG_IRQ_DOMAIN_DEBUG
通过debugfs中的irq_domain_mapping文件向用户显示硬件IRQ号/Linux IRQ号之间的对应关系.仅用于开发调试. Support
CONFIG_SPARSE_IRQ
稀疏IRQ号支持.它允许在小型设备上(例如嵌入式设备)定义一个很高的CONFIG_NR_CPUS值,但仍然不希望占用太多内核\memory footprint\一段可以被操作或被管理的内存区域)的场合.稀疏IRQ也更适合NUMA平台,因为它以一种对NUMA更友好的方式分发中断描述符.不确定的选\Timers subsystem Linux内核时钟子系统 Timer tick handling
内核时钟滴答处理程序,更多信息可以参考内核源码树下的\Documentation/timers/NO_HZ.txt\文件 Periodic
timer
ticks
(constant
rate,
no
dynticks)
sparse
irq
numbering
CONFIG_HZ_PERIODIC
无论CPU是否需要,都强制按照固定频率不断触发时钟中断.这是最耗电的方式,不推荐使用 Idle
dynticks
system
(tickless
idle)
CONFIG_NO_HZ_IDLE
CPU在空闲状态时不产生不必要的时钟中断,以使处理器能够在较低能耗状态下运行以节约电力,适合于大多数场合
Full dynticks system (tickless)
CONFIG_NO_HZ_FULL
完全无滴嗒:即使CPU在忙碌状态也尽可能关闭所有时钟中断,适用于CPU在同一时间仅运行一个任务,或者用户空间程序极少与内核交互的场合.即使开启此选项,也需要额外设置\内核命令行参数才能真正生效. Full
dynticks
system
on
all
CPUs
by
default
CONFIG_NO_HZ_FULL_ALL
即使没有设置\引导参数,也默认对所有CPU(boot CPU 除外)开启完全无滴答特性. Old
CONFIG_NO_HZ
等价于CONFIG_NO_HZ_IDLE,临时用来兼容老版本内核选项,未来会被删除. High
Resolution
Timer
Support
Idle
dynticks
config
CONFIG_HIGH_RES_TIMERS
高精度定时器(hrtimer)是从2.6.16开始引入,用于取代传统timer wheel(基于jiffies定时器)的时钟子系统.可以降低与内核其他模块的耦合性,还可以提供比1毫秒更高的精度(因为它可以读取HPET/TSC等新型硬件时钟源),可以更好的支持音视频等对时间精度要求较高的应用.建议选\提示]这里说的\定时器\是指\软件定时器\而不是主板或CPU上集成的硬件时钟发生器(ACPI PM Timer/HPET Timer/TSC Timer). CPU/Task time and stats accounting CPU/进程的时间及状态统计 Cputime accounting CPU时间统计方式 Simple
tick
based
cputime
accounting
CONFIG_TICK_CPU_ACCOUNTING
简单的基于滴答的统计,适用于大多数场合 Deterministic
task
and
CPU
time
accounting
CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
通过读取CPU计数器进行统计,可以提供更精确的统计,但是对性能有一些不利影响. Full
dynticks
CPU
time
accounting
CONFIG_VIRT_CPU_ACCOUNTING_GEN
利用上下文跟踪子系统,通过观察每一个内核与用户空间的边界进行统计.该选项对性能有显著的不良影响,目前仅用于完全无滴答子系统(CONFIG_NO_HZ_FULL)的调试 Fine
granularity
task
level
IRQ
time
accounting
CONFIG_IRQ_TIME_ACCOUNTING
通过读取TSC时间戳进行统计,这是统计进程IRQ时间的更细粒度的统计方式,但对性能有些不良影响(特别是在RDTSC指令速度较慢的CPU上). BSD
CONFIG_BSD_PROCESS_ACCT
用户空间程序可以要求内核将进程的统计信息写入一个指定的文件,主要包括进程的创建时间/创建者/内存占用等信息. BSD
Process
Accounting
version
3
file
format
Process
Accounting
CONFIG_BSD_PROCESS_ACCT_V3
使用新的v3版文件格式,可以包含每个进程的PID和其父进程的PID,但是不兼容老版本的文件格式.比如 GNU Accounting Utilities 这样的工具可以识别v3格式 Export
task/process
statistics
through
netlink
CONFIG_TASKSTATS
通过netlink接口向用户空间导出进程的统计信息,与 BSD Process Accounting 的不同之处在于这些统计信息在整个进程生存期都是可用的. Enable
per-task
delay
accounting
CONFIG_TASK_DELAY_ACCT
在统计信息中包含进程等候系统资源(cpu,IO同步,内存交换等)所花费的时间 Enable
extended
accounting
over
taskstats
CONFIG_TASK_XACCT
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Linux 3.10内核编译选项在线全文阅读。
相关推荐: