Home >System Tutorial >LINUX >Linux kernel module
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.
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!