组成部分:
内核核心文件
/boot/vmlinuz-`uname -r`
ramdisk
centos5
/boot/initrd-`uname -r`
centos6 7
/boot/initramfs-`uname -r`
ramdisk是辅助文件 并非是必须的。
这取决于内核是否能直接驱动rootfs所在的设备;目标设备驱动,例如SCSI设备的驱动;<br> 逻辑设备驱动,例如LVM设备的驱动;<br> 文件系统,例如xfs文件系统; <br> <br> ramdisk:是一个简装版的根文件系统;目的是为了加载grub stage2阶段的内核
ramdisk文件的管理:<br> (1) mkinitrd命令<br> 为当前使用中的内核重新制作ramdisk文件:<br> # mkinitrd [OPTION...] [<initrd-image>] <kernel-version><br> --with=<module>:除了默认的模块之外需要装载至initramfs中的模块;<br> --preload=<module>:initramfs所提供的模块需要预先装载的模块;<br> <br> 示例: ~]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)<br> <br> (2) dracut命令<br> - low-level tool for generating an initramfs image<br> # dracut [OPTION...] [<image> [<kernel version>]]<br> <br> 示例: ~]# dracut /boot/initramfs-$(uname -r).img $(uname -r)<br>
内核模块文件
/lib/modules/`uname -r`
命令:
lsmod命令:<br> - Show the status of modules in the Linux Kernel<br> <br> 显示的内核来自于/proc/modules<br>
modinfo命令:<br>- Show information about a Linux Kernel module<br><br>modinfo [-F field] [-k kernel] [modulename|filename...]<br>-F field: 仅显示指定字段的信息;<br>-n:显示文件路径;<br>
modprobe命令:<br> - Add and remove modules from the Linux Kernel<br> <br> 格式:modprobe [-r] module_name<br> 模块的动态装载:modprobe module_name<br> 动态卸载:modprobe -r module_name<br>
depmod命令:<br> - Generate modules.dep and map files.<br> <br> 内核模块依赖关系文件的生成工具;<br>
模块的装载和卸载的另一组命令:<br> insmod命令:<br> insmod [filename] [module options...]<br> filename:模块文件的文件路径;<br> <br> rmmod命令:<br> rmmod [module_name]<br>
/proc 内核信息输出的伪文件系统
临时配置/proc/sys下的设置
读取
sysctl path.to.parameter
~]# sysctl net.ipv4.icmp_echo_ignore_all<br>net.ipv4.icmp_echo_ignore_all = 1<br>
写入
sysctl -w path.to.parameter=VALUE
sysctl -w net.ipv4.icmp.echo_ignore_all=1
echo 1|0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
永久写入文件<br>sysctl -p 配置文件<br>读取配置文件并立即生效<br>
/etc/sysctl.conf
推荐 /etc/sysctl.d/*.conf
/etc/sysctl.d/*.conf<br>/usr/local/lib/sysctl.d/*.conf<br>/usr/lib/sysctl.d/*.conf<br>/lib/sysctl.d/*.conf<br>
常用的内核参数
net.ipv4.icmp_echo_ignore_all
1禁ping
0允许ping
net.ipv4.ip_forward
1开启内核路由转发功能
0关闭内核路由转发功能
net.ipv4.ip_nonlocal_bind
允许应用层序监听本地不存在的ip。常用于监听VIP 即virtual IP 虚拟IP。
fs.file-max = 1020000
允许打开的最大文件,其实这些都要根据别的参数来调整 即木桶短板效应
vm.drop_caches