菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
26
0

kernel的结构与命令行参数

原创
05/13 14:22
阅读数 1375

kernel包结构

在RHEL中rpm包是一种cpio格式的压缩文件,它由源文件和元数据(metadata)组成。而在rpm包中kernel rpm比较特殊,是一个只有元数据的包,在元数据中约束了以下的包列表:

  • kernel-core
  • kernel-modules
  • kernel-modules-extra

从结构上可以看出第一部分kernel-core是内核的核心功能实现,第二部分kernel-modules是内核主要的基本模块,第三部分kernel-modules-extra是内核的扩展模块

内核参数

内核的参数配置文件在/etc/sysctl.conf中
通常是以 <TUNABLE_CLASS>.<TUNALE>=<TARGET_VALUE>的形式展现的。

通过以下命令可以查看内核参数:
$ sysctl -a
比如如下的一条参数
net.ipv4.tcp_syncookies=1

默认情况下sysctl.conf中没有显示启用的参数,在文件中也说了,这只是一个上层的配置文件,具体的各项配置在/etc/sysctl.d/目录中的不同配置文件中,/etc/sysctl.d/目录中配置文件的优先级是以文件名开头的数字大小决定的,一般一类配置在一个配置文件中。
比方说上面的参数就记录在配置文件/etc/sysctl.d/10-network-security.conf中。

如果要想修改kernel的参数可以用如下命令:
$ sysctl -w <TUNABLE_CLASS>.<TUNALE>=<TARGET_VALUE> >> /etc/sysctl.conf
即写入到sysctl.conf配置文件中

具体来看kernel参数会发现是以/proc/sys/目录下的结构定义的,比如上述参数
net.ipv4.tcp_syncookies
对应有一个/proc/sys下的文件
/proc/sys/net/ipv4/tcp_syncookies
其中的值就是1,所以也可以直接修改这个文件的值来修改参数。

configuring-kernel-parameters-at-runtime

发表评论

0/200
26 点赞
0 评论
收藏