导读 | Linux内核采用的是模块化技术,这样的设计可使得系统内核保持最小化,同时确保了内核的可扩展性和可维护性,模块化设计容许咱们在须要时才将模块加载至内核,实现动态内核的调整。下面我给你们介绍一下有关内核的操做方法。 |
Linux内核模块文件的命名方式一般为<模块名称.ko>,Centos 6.3 系统的内核模块被集中存放在/lib/modules/`uname -r`/目录下。linux
lsmod命令用来显示当前Linux内核模块状态,不使用任何参数会显示当前已经加载的全部内核模块。输出的三列信息分别为模块名称、占用内存大小、是否在被使用,若是第三列为0,则该模块能够随时卸载,非0则没法执行modprobe删除模块。vim
[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
modprobe命令能够动态加载和卸载内核模块,具体命令以下:centos
[root@centos6 ~]# modprobe ip_vs #动态加载ip_vs模块 [root@centos6 ~]# lsmod | grep ip_vs #查看模块是否加载成功 [root@centos6 ~]# modprobe -r ip_vs #动态卸载ip_vs模块
modinfo命令也能够查看内核模块信息:模块化
[root@centos6 ~]# modinfo ip_vs
Linux系统参数随着系统的启动会被写入系统内存中,咱们能够直接修改/proc目录下的大量文件来调整内核参数,而且这种调整是当即生效的,下面举几个例子:spa
开启内核路由转发功能(经过0或1设置开关):设计
[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
开启禁止其它主机ping本机功能:教程
[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
调整全部的进程能够打开的文件总数量:进程
[root@centos6 ~]# echo "108248" >/proc/sys/fs/file-max
经过以上方法直接修改/proc相关文件的方式,在系统重启后再也不有效,若是但愿设置参数永久生效,能够修改/etc/sysctl.conf文件,可使用Vim修改该文件:ip
[root@centos6 ~]# vim /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.icmp_echo_ignore_all = 1 fs.file-max = 108248
注意:经过sysctl.conf文件修改的参数不会当即生效,须要使用sysctl -p 命令设置当即生效。内存
免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:https://www.linuxprobe.com/