文章目录
一. /proc目录
内核把自己内部状态信息及统计信息,以及可配置参数通过proc伪文件系统加以输出
帮助:man proc
参数:只读:输出信息
可写:可接受用户指定“新值”来实现对内核某功能或特性的配置
/proc/sys的配置文件 /etc/sysctl.conf
在这个配置文件中,修改或添加内核参数------会直接更改/proc/sys/中的内核文件
sysctl命令:
默认配置文件:/etc/sysctl.conf
(1) 设置某参数
sysctl -w parameter=VALUE
sysctl -w
path.to.parameter=VALUE
sysctl -w kernel.hostname=
(2) 通过读取配置文件设置参数
sysctl -p [/path/to/conf_file]
sysctl -p
重新读取这个文件sysctl.conf
(3) 查看所有生效参数
sysctl -a
常用的几个参数:
net.ipv4.ip_forward= 启用路由功能为1
net.ipv4.icmp_echo_ignore_all= 禁ping改为1
vm.drop_caches 缓存释放 3
内存共享的最大内存段以字节问单位
释放缓存echo 3 > /proc/sys/vm/drop_caches
二. /sys目录:
sysfs:为用户使用的伪文件系统,输出内核识别出的各硬件设备的相关属性信息,也有内核对硬件特性的设定信息;有些参数是可以修改的,用于调整硬件
工作特性
udev通过此路径下输出的信息动态为各设备创建所需要设备文件,udev是
运行用户空间程序
专用工具:udevadmin, hotplug
udev为设备创建设备文件时,会读取其事先定义好的规则文件,一般在
/etc/udev/rules.d及/usr/lib/udev/rules.d目录下
三.内核编译方法
单内核体系设计、但充分借鉴了微内核设计体系的优点,为内核引入模块化机制
1.内核组成部分:
kernel:内核核心,一般为bzImage,通常在/boot目录下
名称为 vmlinuz-VERSION-RELEASE
在/boot中这个文件记录了开始编译内核启用了那些功能
/boot/config-版本
集成为内核文件的就是y
集成为模组文件的就是m
kernel object:内核对象,一般放置于
/lib/modules/VERSION-RELEASE/
[ ]: N 不启用
[M]: M以模块方式
[*]: Y内核里
辅助文件:ramdisk
initrd
initramfs
2.内核版本
运行中的内核: