作者介绍:在简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,以下思维导图展示了预计更新的内容和当前进度(不定时更新)。
我们的Linux进阶部分,到目前为止,已经涵盖了:硬件,日常运维,基础软件,日志,进阶命令,防火墙,Shell编程,以及本章将要讲解的内核相关内容,和最后一章Linux系统。
让我们深入了解和熟悉基本的Linux内核相关的信息,Linux内核我们将从以下几个方面进行讲解:
Linux内核-什么是内核
Linux内核-内核模块&参数(本章节)
Linux内核-proc文件系统
Linux内核-sys文件系统
Linux内核-tmpfs文件系统
在运维生涯中,内核升级并不常见。这种操作通常用于项目启动阶段,因为一旦业务上线,一般不会再进行如此大的变更。
内核模块
内核模块是一种可以在运行时动态加载到操作系统内核中的软件组件。
一、作用
内核模块主要有以下几个重要作用:
扩展内核功能:操作系统内核在设计时通常无法包含所有可能的功能,内核模块允许开发者在需要时添加特定的功能,比如新的设备驱动程序、文件系统支持等,从而增强了操作系统的灵活性和可扩展性。适应不同硬件环境:不同的计算机硬件可能需要不同的驱动程序或支持模块。通过加载相应的内核模块,可以使操作系统适应各种硬件配置,而无需重新编译整个内核。提高系统性能:只在需要时加载特定的内核模块,可以避免内核变得过于庞大和复杂,从而提高系统的性能和响应速度。二、常用命令
1.查看内核模块
#查看当前系统加载的内核模块 lsmod #这个目录下就是Linux服务器有的内核模块 /lib/modules/内核版本/kernel
2.添加新的内核模块
[root@localhost ]# lsmod |grep kvm [root@localhost ]# [root@localhost ]# modprobe kvm [root@localhost ]# lsmod |grep kvm kvm 667648 0 irqbypass 16384 1 kvm
3.移除内核模块
rmmod kvm
一般情况下,我们并不需要单独加载或移除内核模块。比如这个kvm模块,如果我们作为普通服务器使用,使用不到这个模块,也不需要加载这个模块。但是如果我们这台服务器是需要作为kvm宿主机,在安装kvm相关软件以后,这个模块是会自动加载的。
这里把内核模块列出来介绍,就是让我们了解和认识内核模块。
内核参数
我们刚刚介绍的内核模块,主要是为了从系统层面支持某个功能,而内核参数,则可以理解为在实现某个具体功能的参数,只是这个参数是内核层面的。
查看内核参数
sysctl -a
修改内核参数
sysctl -w net.ipv4.ip_forward=1
echo 1 > /proc/sys/net/ipv4/ip_forward
持久化内核参数
vi /etc/sysctl.conf #添加格式如下 net.ipv4.ip_forward=1 #执行该命令,或者重启也可以生效 sysctl -p
常见的内核参数分类介绍
sysctl -a |awk -F '.' '{print $1}' |uniq
abi:包含应用程序与内核之间的接口规范相关内容,确保不同软件在特定系统上能正确交互。
crypto:存放内核加密相关功能模块,用于实现数据加密、解密等安全操作。
debug:与内核调试有关,可帮助查找和解决内核运行中的问题。
dev:涵盖各种硬件设备的驱动程序,负责让操作系统与硬件设备通信。
fs:包含不同类型文件系统的实现代码,管理文件的存储和访问。
kernel:内核的核心部分,有进程管理、内存管理等关键功能。
net:负责网络功能,包括网络协议和设备驱动,实现数据网络传输。
user:涉及用户空间与内核交互的部分,保障用户程序安全与内核通信。
vm:专注于虚拟内存管理,合理分配和回收内存资源。
总结
其实我们在前面讲Linux基础软件-swap和防火墙-nat表的时候就修改内核参数。内核参数是为了实现某个具体的细节功能或者优化某些功能的使用。
以上就是Linux内核-内核模块&参数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号