Kernel升级至3.11实战和选项优化配置详解
说明:1、内核升级前途是光明的,道路是曲折的,而且还是体力活
2、系统版本:centos minimal x86_64
3、参考配置选项详解链接:www.linux/forums/linux-kernel.41/
Kernel配置,有三种选择,它们分别代表的含义如下:
Y--将该功能编译进内核
N--不将该功能编译进内核
M--将该功能编译成模块,需要时动态插入到内核中的模块
stubborn1.1、首先下载最新版内核源文件:
地址:ftp://ftp.kernel/pub/linux/kernel/v3.x/
建议下载gz压缩包例:ar.gz
1.2、装上依赖包或库和编译器gcc
命令:yum -y install gcc gcc-c++ make bc perl ncurs ncurs-devel
1.3、上传至/usr/src/ 目录自定这里我上传至/usr/src/下面
1.4、解压内核文件:tar zxvf linux-3.
1.5、进入内核目录cd linux-3.11
1.6、建立内核编译存放目录,这里我已经建立过了:
1.7、如果以前升级过内核建议先清理一下,命令make mrproper
1.8、配置内核选项,详情参考下面,命令:make O=/usr/kernel menuconfig
1.9、编译模块命令:make O=/usr/kernel
kernel source code: /usr/src/linux-3.X
build directory: /home/name/build/kernel
To configure and build the kernel, u:
cd /usr/src/linux-3.X
mkdir /usr/jet
make O=/usr/src/kernels menuconfig
make O=/usr/src/kernels
sudo make O=/usr/src/kernels modules_install install
1、General tup 常规选项配置
Cross-compiler tool prefix (CROSS_COMPILE) []
交叉编译工具前缀N
"Local version - append to kernel relea (LOCALVERSION) []". 设置内核版本号或名称N
Compile also drivers which will not load (NEW)
ubunt
编译驱动程序将不加载N
Automatically append version information to the version string
自动添加版本信息版本字符串N
Kernel compression mode
内核压缩模式选Gzip
jingle bells英文歌词Default hostname
气球的英文
默认主机名自己设定
Support for paging of anonymous memory (swap)
启用或禁用swap虚拟内存支持Y
System V IPC (SYSVIPC)
进程通信和同步Y
POSIX Message Queues
消息队列优先Y
open by fhandle syscalls
通过fhandle syscalls开放,程序将允许使用文件句柄Y
Auditing support
审计的支持Y
Enable system-call auditing support
系统调用审计的支持N
Make audit loginuid immutable
使审计loginuid不变N
IRQ subsystem.
IRQ子系统用不到N
Timers subsystem
定时器子系统
[*] Old Idle dynticks config
旧式dynticks Y
[*] High Resolution Timer Support
高分辨率定时器,适用新机器Y
CPU/Task time and stats accounting
CPU /任务时间和统计核算属于跟踪过程
Cputime accounting (Simple tick bad cputime accounting) ---> 下面3个选项,默认1 Simple tick bad cputime accounting (TICK_CPU_ACCOUNTING)
基本会计gobo
2. Full dynticks CPU time accounting (VIRT_CPU_ACCOUNTING_GEN) (NEW)
全dynticksCPU时间会计
3. Fine granularity task level IRQ time accounting (IRQ_TIME_ACCOUNTING)
精细粒度的任务级中断时间会计
BSD Accounting
BSD会计:为了更小和更快的内核N
Export task/process statistics through netlink TASKSTA TS
出口任务/进程统计通过Netlink Y
Enable per-task delay accounting TASK_DELAY_ACCT
使每个任务的延迟会计Y
Enable extended accounting over taskstats TASK_XACCT
启用扩展会计在taskstats N
RCU Subsystem. Read-Copy-Update--->
RCU子系统。读复制更新的子系统(Read-Copy-Update)是一个低开销的同步机制,允许程序认为是被修改/更新工艺文件。
RCU Implementation (Tree-bad hierarchical RCU) --->
Tree-bad hierarchical RCU (TREE_RCU)
基于分层树老式RCU Y
Consider urspace as in RCU extended quiescent state
用户空间作为RCU扩展静止状态N
(64) Tree-bad hierarchical RCU fanout value 默认64
(16) Tree-bad hierarchical RCU leaf-level fanout value (NEW) 默认16
unic
Disable tree-bad hierarchical RCU auto-balancing
禁用基于分层RCU自动平衡树
Accelerate last non-dyntick-idle CPU's grace periods (RCU_FAST_NO_HZ)
非dyntick空闲CPU加速的宽限期默认关闭
Offload RCU callback processing from boot-lected CPUs
卸载启动选定的RCU回调处理CPU 默认关闭you ll just never know
Kernel .config support (IKCONFIG)
内核配置支持Y
Enable access to .config through / (IKCONFIG_PROC)
允许通过/proc / 配置Y
hortailKernel log buffer size (16 => 64KB, 17 => 128KB)
内核日志缓冲区默认即可
Memory placement aware NUMA scheduler (NEW)
存储器位置感知的NUMA调度N
-*- Control Group support --->
控制组的支持Y
Example debug cgroup subsystem (CGROUP_DEBUG))
子系统调试(cgroup_debug)是用于调试cgroups框架默认N
Freezer cgroup subsystem (CGROUP_FREEZER))
允许程序员可以冻结和解冻进程Y
日语等级考试网Device controller for cgroups (CGROUP_DEVICE)
Cgroups设备控制Y
Cput support (CPUSETS))
CpuSet支持:允许管理员动态分区存储节点集和CPU和系统上运行这些集的分配任务。这通常是用在SMP和NUMA系统。N
Simple CPU accounting cgroup subsystem
简单的CPU会计cgroup子系统N
Resource counters
资源计数器N
Enable perf_event per-cpu per-container group (cgroup) monitoring (CGROUP_PERF))
允许开发者扩展每CPU模式使它只在一个特定的CPU监控一个特定的最低线N
Memory Resource Controller for Control Groups
内存资源控制器N
timorHugeTLB Resource Controller for Control Groups (NEW)
hugetlb资源控制器(新的)N
-*- Group CPU scheduler ---> CPU调度程序
CPU bandwidth provisioning for FAIR_GROUP_SCHED (CFS_BANDWIDTH))