基于CentOS6完成
内核参数设定:
sysctl -a 显示所有内核参数即其值
临时生效
- echo value > /proc/sys/somefile
- sysctl -w kernel.hostname=‘tye’ #设定主机名
以上设定方式能立即生效,但无法永久生效,重启系统失效
永久有效:
修改/etc/sysctl.conf文件,然后执行sysctl -p可使配置立即生效
#通过修改/proc/sys/vm/drop_caches文件,清除buffers和cached
[root@localhost vm]# free -m
total used free shared buffers cached
Mem: 2000 334 1666 0 14 174
-/+ buffers/cache: 145 1855
Swap: 2047 0 2047
[root@localhost vm]# echo 1 > /proc/sys/vm/drop_caches
[root@localhost vm]# free -m
total used free shared buffers cached
Mem: 2000 151 1849 0 0 6
-/+ buffers/cache: 144 1856
Swap: 2047 0 2047
#sysctl设定主机名
[root@localhost kernel]# sysctl -w kernel.hostname='tye.com'
kernel.hostname = tye.com
内核模块管理
查看内核中装载的模块lsmod
[root@localhost kernel]# lsmod
Module Size Used by
ib_ipoib 81191 0
rdma_ucm 15739 0
ib_ucm 12360 0
ib_uverbs 40532 2 rdma_ucm,ib_ucm
ib_umad 13519 0
rdma_cm 36651 1 rdma_ucm
ib_cm 37444 3 ib_ipoib,ib_ucm,rdma_cm
iw_cm 33136 1 rdma_cm
ib_sa 24188 4 ib_ipoib,rdma_ucm,rdma_cm,ib_cm
ib_mad 41628 3 ib_umad,ib_cm,ib_sa
ib_core 83020 10 ib_ipoib,rdma_ucm,ib_ucm,ib_uverbs,ib_umad,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad
ib_addr 8304 3 rdma_ucm,rdma_cm,ib_core
ipv6 336944 268 ib_ipoib,ib_addr
...
装载模块
modprobe MOD_NAME 装载某模块
modprobe -r MOD_NAME 卸载某个模块
modinfo MOD_NAME 查看模块
insmod /path/to/module_file 装载模块
rmmod MOD_NAME 移除模块
depmod /path/to/MODULES_DIR
[root@localhost kernel]# modinfo cdrom
filename: /lib/modules/2.6.32-754.el6.x86_64/kernel/drivers/cdrom/cdrom.ko
license: GPL
retpoline: Y
srcversion: 6C1B1032B5BB33E30110371
depends: #依赖信息
vermagic: 2.6.32-754.el6.x86_64 SMP mod_unload modversions
parm: debug:bool
parm: autoclose:bool
parm: autoeject:bool
parm: lockdoor:bool
parm: check_media_type:bool
parm: mrw_format_restart:bool
内核中的功能除了核心功能外,在编译时,大多功能有三种选择:
- 不使用此功能
- 编译成内核查获块
- 编译进内核
如何手动编译内核
make gconfig:Gnome桌面环境使用,需要安装图形开发库
make kconfig:KDE桌面环境使用,需要安装图形开发库
make menuconfig:进入内核目录使用
-
到linux网站下载要编译的内核(https://mirrors.edge.kernel.org/pub/linux/kernel/)
-
解压内核文件至/usr/src目录
#生成.config文件
[root@localhost linux-2.6.39]# ls -a
. .config Documentation .gitignore Kbuild .mailmap net scripts usr
.. COPYING drivers include Kconfig MAINTAINERS README security virt
arch CREDITS firmware init kernel Makefile REPORTING-BUGS sound
block crypto fs ipc lib mm samples tools
#复制目前系统的config文件,覆盖要编译的内核目录下的.config文件
[root@tye ~]# cp /boot/config-2.6.32-754.el6.x86_64 /usr/src/linux-2.6.39/.config
cp: overwrite `/usr/src/linux-2.6.39/.config'? y
- 待续