Home >System Tutorial >LINUX >Linux kernel module

Linux kernel module

王林
王林forward
2024-02-13 22:21:23878browse

The Linux kernel uses modular technology. This design can keep the system kernel minimal while ensuring the scalability and maintainability of the kernel. The modular design allows us to load modules into the kernel only when needed. , to achieve dynamic kernel adjustment. Now let me introduce to you how to operate the kernel.

Linux kernel module

Kernel module storage location

The naming method of Linux kernel module files is usually as follows. The kernel modules of the Centos 6.3 system are centrally stored in the /lib/modules/uname -r/ directory.

View loaded system modules

The lsmod command is used to display the current Linux kernel module status. Without any parameters, it will display all currently loaded kernel modules. The three columns of information output are the module name, the memory size occupied, and whether it is being used. If the third column is 0, the module can be uninstalled at any time. If it is not 0, modprobe cannot be executed to delete the module.

[root@centos6 ~]# lsmod
Module                Size              Used by
bridge                 79950             0
stp                    2173              1     bridge
llc                    5642              2     bridge,stp
fuse                   66891             2
autofs4                27212             3
sunrpc                 263516            1
ipt_REJECT             2351              2
nf_conntrack_ipv4      9606              1
nf_defrag_ipv4         1483              1     nf_conntrack_ipv4
iptable_filter         2793              1
ip_tables              17831             1     iptable_filter

Loading and unloading the system kernel

The modprobe command can dynamically load and unload kernel modules. The specific commands are as follows:

[root@centos6 ~]# modprobe ip_vs           #动态加载ip_vs模块
[root@centos6 ~]# lsmod | grep ip_vs            #查看模块是否加载成功
[root@centos6 ~]# modprobe -r ip_vs             #动态卸载ip_vs模块

The modinfo command can also view kernel module information:

[root@centos6 ~]# modinfo ip_vs

Modify kernel parameters

Temporarily adjust kernel parameters

Linux system parameters will be written into the system memory as the system starts. We can directly modify a large number of files in the /proc directory to adjust the kernel parameters, and this adjustment will take effect immediately. Here are a few examples:

Enable the kernel routing forwarding function (set the switch via 0 or 1):

[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

Enable the function of prohibiting other hosts from pinging this machine:

[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

Adjust the total number of files that can be opened by all processes:

[root@centos6 ~]# echo "108248" >/proc/sys/fs/file-max

Permanently adjust kernel parameters

Directly modifying /proc related files through the above method will no longer be effective after the system restarts. If you want the setting parameters to take effect permanently, you can modify the /etc/sysctl.conf file. You can use Vim to modify the file:

[root@centos6 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_all = 1
fs.file-max = 108248

Note: Parameters modified through the sysctl.conf file will not take effect immediately. You need to use the sysctl -p command to set them to take effect immediately.

The above is the detailed content of Linux kernel module. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:lxlinux.net. If there is any infringement, please contact admin@php.cn delete