/etc/sysctl.conf介绍

/etc/sysctl.conf这个目录主要是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件。

cat /etc/sysctl.conf 内容大概是如下格式:

fs.file-max = 3145728
fs.suid_dumpable = 1
kernel.core_uses_pid = 1
kernel.printk = 4 4 1 7
kernel.shmmax = 7516192768 
kernel.shmall = 1835008 
net.ipv4.ip_local_port_range = 8192 65535
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.netfilter.ip_conntrack_max = 1048576
net.ipv4.tcp_max_tw_buckets = 1048576
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_rmem = 4096 87380 4120576
net.ipv4.tcp_wmem = 4096 16384 4120576
#vm.nr_hugepages = 0
其实每个'.'分割的就代表一个目录,例如,fs.file-max也就代表/proc/sys/fs/file-max。那么/proc/sys/是用来做什么的呢?大家都知道/proc是每次系统启动的时候都要重新挂载的,它反映了系统内存里面的一些状态。通过/proc/可以很好的了解到当前系统的一些信息。而/proc/sys/则是这些信息的一小部分而已。

前面说过/etc/sysctl.conf与目录/proc/sys/的关系,那么常见设置方法有三个:

1.  echo value > /proc/sys/xx/yy
2.  vi /etc/sysctl.conf #vi编辑,然后添加设置 ;  sysctl -p #生效
3.  sysctl -w kernel.domainname="example.com" #利用-w生效
例如:  禁止别人PING自己
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 

sysctl -w net.ipv4.icmp_echo_ignore_all=1


拓展: sysctl命令

选项:	
-n:打印值时不打印关键字; 
-e:忽略未知关键字错误; 
-N:仅打印名称; 
-w:当改变sysctl设置时使用此项; 
-p:从配置文件“/etc/sysctl.conf”加载内核参数设置; 
-a:打印当前所有可用的内核参数变量和值; 
-A:以表格方式打印当前所有可用的内核参数变量和值。
作用:用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中。它包含一些TCP/ip堆栈和虚拟内存系统的高级选项。

你可能感兴趣的:(Linux)