在统计信息中包含进程的更多扩展信息. Enable
per-task
storage
I/O
accounting
CONFIG_TASK_IO_ACCOUNTING
在统计信息中包含进程在存储设备上的I/O字节数. RCU Subsystem
RCU(Read-Copy Update)子系统.在读多写少的情况下,这是一个高性能的锁机制,对于被RCU保护的共享数据结构,读者不需要获得任何锁就可以访问它(速度非常快),但写者在访问它时首先拷贝一个副本,然后对副本进行修改,最后使用一个回调机制在适当的时机把指向原来数据的指针重新指向新的被修改的数据,速度非常慢.RCU只适用于读多写少的情况:如网络路由表的查询更新,设备状态表的维护,数据结构的延迟释放以及多径I/O设备的维护等. RCU Implementation RCU的实现方式 Tree-based CONFIG_TREE_RCU
基于树型分层结构的实现.最适用于多CPU的非实时系统. Preemptible
tree-based
hierarchical
RCU
hierarchical
RCU
CONFIG_TREE_PREEMPT_RCU
抢占式基于树型分层结构的实现.最适用于那些要求快速响应的多CPU实时系统. UP-only
CONFIG_TINY_RCU
最简单的实现,能够大幅降低RCU系统的内存占用.最适用于单CPU的非实时系统. Preemptible
UP-only
small-memory-footprint
RCU
small-memory-footprint
RCU
CONFIG_TINY_PREEMPT_RCU
抢占式简单实现,能够大幅降低RCU系统的内存占用.最适用于那些要求快速响应的单CPU实时系统.
Consider userspace as in RCU extended quiescent state
CONFIG_RCU_USER_QS
在内核和用户边界设置钩子函数,将运行在用户态的CPU从全局RCU状态机制中移除,这样就不会在RCU系统中维护此CPU的时钟滴答.除非你想要帮助开发CONFIG_NO_HZ_FULL模块,否则不要打开此选项,而且它还会对性能有不利影响. Force
context
tracking
CONFIG_CONTEXT_TRACKING_FORCE
默认在内核和用户边界进行探测(上下文跟踪),以便测试依赖于此特性的各种功能(比如用户空间的 RCU extended quiescent state),这个特性目前仅用于调试目的,未来也许会用于为CONFIG_NO_HZ_FULL模块提供支持 Tree-based
hierarchical
RCU
fanout
value
CONFIG_RCU_FANOUT
这个选项控制着树形RCU层次结构的端点数(fanout),以允许RCU子系统在拥有海量CPU的系统上高效工作.这个值必须至少等于CONFIG_NR_CPUS的1/4次方(4次根号).生产系统上应该使用默认值(64).仅在你想调试RCU子系统时才需要减小此值. Tree-based
hierarchical
RCU
leaf-level
fanout
value
CONFIG_RCU_FANOUT_LEAF
这个选项控制着树形RCU层次结构的叶子层的端点数(leaf-level fanout).对于期望拥有更高能耗比(更节能)的系统,请保持其默认值(16).对于拥有成千上万个CPU的系统来说,应该考虑将其设为最大值(CONFIG_RCU_FANOUT). Disable
tree-based
hierarchical
RCU
auto-balancing
CONFIG_RCU_FANOUT_EXACT
强制按照CONFIG_RCU_FANOUT_LEAF的值,而不是使用自动平衡树结构来实现RCU子系统.目前仅用于调试目的.未来也许会用于增强NUMA系统的性能. Accelerate
last
non-dyntick-idle
CPU's
grace
periods
CONFIG_RCU_FAST_NO_HZ
即使CPU还在忙碌,也允许进入dynticks-idle状态,并且阻止RCU每4个滴答就唤醒一次该CPU,这样能够更有效的使用电力,同时也拉长了RCU grace period的时间,造成性能降低.如果能耗比对你而言非常重要(你想节省每一分电力),并且你不在乎系统性能的降低(CPU唤醒时间增加),可以开启此选项.台式机和服务器建议关闭此选项. Enable
CONFIG_RCU_BOOST
允许提升RCU子系统的实时优先级(包括读操作与写操作),以避免RCU操作被阻塞太长时间.如果系统的CPU负载经常很重,或者你需要快速的实时响应系统,那么就选\否则应该选\Real-time
priority
to
boost
RCU
readers
to
RCU
priority
boosting
CONFIG_RCU_BOOST_PRIO
允许提升被长时间抢占(阻塞)的RCU读操作的实时优先级到什么程度.取值范围是[1,99].默认值\适用于实时应用程序中不包含CPU密集型(CPU-bound)线程的常规场合(例如大多数桌面系统).但是如果你的实时应用程序拥有一个或多个CPU密集型线程,那么可能需要增加这个值,具体可以参考内核帮助的说明.仅在你确实理解了的情况下再改变默认值.
Milliseconds to delay boosting after RCU grace-period start CONFIG_RCU_BOOST_DELAY
在提升RCU读操作的优先级之前,允许有多长时间潜伏期(阻塞),取值范围是[0,3000],单位是毫秒,默认值是\不确定的请使用默认值. Offload
RCU
callback
processing
from
boot-selected
CPUs
CONFIG_RCU_NOCB_CPU
如果你想帮助调试内核可以开启,否则请关闭. Build-forced no-CBs CPUs
在开启CONFIG_RCU_NOCB_CPU选项的情况下,指定哪些CPU是No-CB CPU,相当于预先设置\内核引导参数. Kernel
CONFIG_IKCONFIG
.config
support
把内核的配置信息编译进内核中,以后可以通过scripts/extract-ikconfig脚本从内核镜像中提取这些信息 Enable
access
to
.config
through
/proc/config.gz
CONFIG_IKCONFIG_PROC
允许通过 /proc/config.gz 文件访问内核的配置信息 Kernel
CONFIG_LOG_BUF_SHIFT 设
置
内
核
日
志
缓
冲
区
的
大
小
:
12(
最
小
log
buffer
size
值)=4KB,...,16=64KB,17=128KB,18=256KB,...,21(最大值)=2048KB Automatically
enable
NUMA
aware
memory/task
placement
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED
在NUMA(Non-Uniform Memory Access Architecture)系统上自动启用进程/内存均衡,也就是自动开启CONFIG_NUMA_BALANCING特性. Memory
placement
aware
NUMA
scheduler
CONFIG_NUMA_BALANCING
允许自动根据NUMA系统的节点分布状况进行进程/内存均衡(方法很原始,就是简单的内存移动).这个选项对UMA系统无效.[提示]UMA系统的例子:(1)只有一颗物理CPU(即使是多核)的电脑,(2)不支持\虚拟NUMA\或\虚拟NUMA\被禁用的虚拟机(即使所在的物理机是NUMA系统) Control CONFIG_CGROUPS
Cgroup(Control Group)是一种进程管理机制,可以针对一组进程进行系统资源的分配和管理,可用于Cpusets,CFS(完全公平调度器),内存管理等子系统.此外,systemd
也依赖于它.更多细节可以参考内核的
Group
support
\Documentation/cgroups/cgroups.txt\文件 Example
CONFIG_CGROUP_DEBUG
导出cgroups框架的调试信息,仅用于调试目的.
debug
cgroup
subsystem
Freezer
CONFIG_CGROUP_FREEZER
cgroup subsystem
允许冻结/解冻cgroup内所有进程 Device
controller
for
cgroups
CONFIG_CGROUP_DEVICE
允许为cgroup建立设备白名单,这样cgroup内的进程将仅允许对白名单中的设备进行mknod/open操作 Cpuset
CONFIG_CPUSETS
CPUSET支持:允许将CPU和内存进行分组,并指定某些进程只能运行于特定的分组.这里有一篇CPUSET的用法 Include
legacy
/proc/
file support
CONFIG_PROC_PID_CPUSET
提供过时的 /proc/
CPU
accounting
cgroup
subsystem
CONFIG_CGROUP_CPUACCT
提供一个简单的资源控制器(Resource Controller,用于实现一组任务间的资源共享),以监控cgroup内所有进程的总CPU使用量. Resource
CONFIG_RESOURCE_COUNTERS
为cgroup提供独立于controller资源计数器 Memory
Resource
Controller
for
Control
Groups counters
CONFIG_MEMCG
为cgroup添加内存资源控制器,包含匿名内存和页面缓存(Documentation/cgroups/memory.txt).开启此选项后,将会增加关联到每个内存页fixed memory大小,具体在64位系统上是40bytes/PAGE_SIZE.仅在你确实明白什么是 memory resource controller 并且确实需要的情况下才开启此选项.此功能可以通过命令行选项\进行关闭.
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Linux 3.10内核编译选项(2)在线全文阅读。
相关推荐: