77范文网 - 专业文章范例文档资料分享平台

Linux 3.10内核编译选项(2)

来源:网络收集 时间:2019-03-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

在统计信息中包含进程的更多扩展信息. 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//cpuset

file support

CONFIG_PROC_PID_CPUSET

提供过时的 /proc//cpuset 文件接口 Simple

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)在线全文阅读。

Linux 3.10内核编译选项(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/536161.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: