Memory Resource Controller Swap Extension
CONFIG_MEMCG_SWAP
给 Memory Resource Controller 添加对swap的管理功能.这样就可以针对每个cgroup限定其使用的mem+swap总量.如果关闭此选项, memory resource controller 将仅能限制mem的使用量,而无法对swap进行控制(进程有可能耗尽swap).开启此功能会对性能有不利影响,并且为了追踪swap的使用也会消耗更多的内存(如果swap的页面大小是4KB,那么每1GB的swap需要额外消耗512KB内存),所以在内存较小的系统上不建议开启.
Memory Resource Controller Swap Extension enabled by default CONFIG_MEMCG_SWAP_ENABLED
如果开启此选项,那么将默认开启CONFIG_MEMCG_SWAP特性,否则将默认关闭.即使默认开启也可以通过内核引导参数\禁止此特性. Memory
Resource
Controller
Kernel
Memory
accounting
CONFIG_MEMCG_KMEM
为 Memory Resource Controller 添加对内核对象所占用内存的管理功能.和标准的 Memory Resource Controller 对内存的控制不一样之处在于:这些内核对象所占用的内存是基于每个内存页的,并且可以被swap到硬盘.使用这个功能可以确保cgroup中的进程不会单独耗尽所有内核资源. HugeTLB
Resource
Controller
for
Control
Groups
CONFIG_CGROUP_HUGETLB
为cgroup添加对HugeTLB页的资源控制功能.开启此选项之后,你就可以针对每个cgroup限定其对HugeTLB的使用.
Enable perf_event per-cpu per-container group (cgroup) monitoring CONFIG_CGROUP_PERF
将per-cpu模式进行扩展,使其可以监控属于特定cgroup并运行于特定CPU上的线程 Group
CONFIG_CGROUP_SCHED
CPU
scheduler
让CPU调度程序可以在不同的cgroup之间分配CPU的带宽.systemd资源控制单元(resource control unit)的CPUShares功能依赖于它. Group
scheduling
for
SCHED_OTHER
CONFIG_FAIR_GROUP_SCHED
公平CPU调度策略,也就是在多个cgroup之间平均分配CPU带宽.\鸡血补丁\自动分组调度功能)依赖于它.systemd资源控制单元(resource control unit)的CPUShares功能也依赖于它. CPU
bandwidth
provisioning
for
FAIR_GROUP_SCHED
CONFIG_CFS_BANDWIDTH
允许用户为运行在CONFIG_FAIR_GROUP_SCHED中的进程定义CPU带宽限制.对于没有定义CPU带宽限制的cgroup而言,可以无限制的使用CPU带宽.详情参见 Documentation/scheduler/sched-bwc.txt 文件. Group
scheduling
for
SCHED_RR/FIFO
CONFIG_RT_GROUP_SCHED
允许用户为cgroup分配实时CPU带宽,还可以对非特权用户的实时进程组进行调度.详情参见 Documentation/scheduler/sched-rt-group.txt 文档. Block
CONFIG_BLK_CGROUP
通用的块IO控制器接口,可以用于实现各种不同的控制策略.目前,IOSCHED_CFQ用它来在不同的cgroup之间分配磁盘IO带宽(需要额外开启CONFIG_CFQ_GROUP_IOSCHED),block io throttle也会用它来针对特定块设备限制IO速率上限(需要额外开启CONFIG_BLK_DEV_THROTTLING).更多信息可以参考\Documentation/cgroups/blkio-controller.txt\文件. Enable
Block
IO
controller
debugging
IO
controller
CONFIG_DEBUG_BLK_CGROUP
仅用于调试 Block IO controller 目的. Checkpoint/restore CONFIG_CHECKPOINT_RESTORE
support
在内核中添加\检查点/恢复\支持.也就是添加一些辅助的代码用于设置进程的 text, data, heap 段,并且在 /proc 文件系统中添加一些额外的条目.主要用于调试目的.不确定的选\Namespaces CONFIG_NAMESPACES
命名空间支持.主要用于支持基于容器的轻量级虚拟化技术(比如LXC和Linux-VServer). UTS
CONFIG_UTS_NS
uname()系统调用的命名空间支持 IPC
CONFIG_IPC_NS
进程间通信对象ID的命名空间支持 User
CONFIG_USER_NS
允许容器使用user命名空间.如果开启此项,建议同时开启CONFIG_MEMCG和CONFIG_MEMCG_KMEM选项,以允许用户空间使用\限制非特权用户的内存使用量.不确定的选\如果你打算构建一个VPS服务器就必须选\PID
CONFIG_PID_NS 进程PID命名空间支持 Network CONFIG_NET_NS
网络协议栈的命名空间支持.systemd服务单元(service unit)中的\依赖于它.
Require conversions between uid/gids and their internal representation CONFIG_UIDGID_STRICT_TYPE_CHECKS
namespace Namespaces namespace namespace namespace support
强制将uid/gid转换为内部表示形式,以让那些未对uid/gid进行转换的内核子系统代码也能正常编译.不确定的选\Automatic
process
group
scheduling
CONFIG_SCHED_AUTOGROUP
每个TTY动态地创建任务分组(cgroup),这样就可以降低高负载情况下的桌面延迟.也就是传说中的桌面\鸡血补丁\桌面用户建议开启.但服务器建议关闭. Enable deprecated sysfs features to support old userspace tools CONFIG_SYSFS_DEPRECATED
为了兼容旧版本的应用程序而保留过时的sysfs特性.仅当在使用2008年以前的发行版时才需要开启,2009年之后的发行版中必须关闭.此外,使用udev或systemd的系统也必须关闭. Enable
deprecated
sysfs
features
by
default
CONFIG_SYSFS_DEPRECATED_V2 默认开启上述特性 Kernel->user CONFIG_RELAY
在某些文件系统(比如debugfs)中提供中继(relay)支持(从内核空间向用户空间传递大批量数据).主要用于调试内核.
Initial RAM filesystem and RAM disk (initramfs/initrd) support CONFIG_BLK_DEV_INITRD
初始内存文件系统(initramfs,2.6以上内核的新机制,使用cpio格式,占据的内存随数据的增减自动增减)与初始内存盘(initrd,2.4以前内核遗留的老机制,使用loop设备,占据一块固定的内存,需要额外开启CONFIG_BLK_DEV_RAM选项才生效)支持,一般通过lilo/grub的initrd指令加载.更多细节可以参考\Documentation/initrd.txt\文件,关于initrd到initramfs的进化(墙内镜像),可以参考IBM上的两篇文章:Linux2.6 内核的 Initrd 机制解析和Linux 初始 RAM 磁盘(initrd)概述. Initramfs
CONFIG_INITRAMFS_SOURCE
source
file(s)
space
relay
support
(formerly
relayfs)
如果你想将initramfs镜像直接嵌入内核(比如嵌入式环境或者想使用 EFI stub kernel),而不是通过lilo/grub这样的引导管理器加载,可以使用此选项,否则请保持空白.这个选项指明用来制作initramfs镜像的原料,可以是一个.cpio
文件,或一个
Initramfs
虚根目录(其下包含
\等子目录),或一个描述文件.细节可以参考\Documentation/early-userspace/README\文档.[注意]内核帮助文档说可以指定多个目录或文件是错误的,实际只能接受单一的目录或文件 User
ID
to
map
to
0
(user
root)
INITRAMFS_ROOT_UID
此选项仅在CONFIG_INITRAMFS_SOURCE中包含目录时才有效,将此值设为非零(例如\那么所有UID=37的文件在打包到initramfs镜像内时,其UID都将被设为\Group
ID
to
map
to
0
(group
root)
INITRAMFS_ROOT_GID
此选项仅在CONFIG_INITRAMFS_SOURCE中包含目录时才有效,将此值设为非零(例如\那么所有GID=37的文件在打包到initramfs镜像内时,其GID都将被设为\Support
initial
ramdisks
compressed
using
gzip
CONFIG_RD_GZIP
支持经过gzip压缩的ramdisk或cpio镜像 Support
initial
ramdisks
compressed
using
bzip2
CONFIG_RD_BZIP2
支持经过bzip2压缩的ramdisk或cpio镜像 Support
initial
ramdisks
compressed
using
LZMA
CONFIG_RD_LZMA
支持经过LZMA压缩的ramdisk或cpio镜像 Support
initial
ramdisks
compressed
using
XZ
CONFIG_RD_XZ
支持经过XZ压缩的ramdisk或cpio镜像
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Linux 3.10内核编译选项(3)在线全文阅读。
相关推荐: