Linux中系统参数修改命令sysctl的使用讲解

sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。

命令格式:    sysctl [-n] [-e] -w variable=value

sysctl [-n] [-e] -p  (default /etc/sysctl.conf)

sysctl [-n] [-e] -a

常用参数的意义:    -w   临时改变某个指定参数的值,如

sysctl -w net.ipv4.ip_forward=1

-a   显示所有的系统参数

-p   从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

如果仅仅是想临时改变某个系统参数的值,可以用两种方法来实现,例如想启用IP路由转发功能:

1) #echo 1 > /proc/sys/net/ipv4/ip_forward

2) #sysctl -w net.ipv4.ip_forward=1

以上两种方法都可能立即开启路由功能,但如果系统重启,或执行了

# service network restart

命令,所设置的值即会丢失,如果想永久保留配置,可以修改/etc/sysctl.conf文件

将 net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1

常见用法

修改(配置)方法有三种

临时生效2种

复制代码代码如下:

# echo 1 > /proc/sys/net/ipv4/ip_forward // 开启路由功能

# sysctl -w net.ipv4.ip_forward=1 // 用此选项来改变一个sysctl设置

如果系统重启,或执行service network restart命令,所设置的值即会丢失

/proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失。

永久生效1种

复制代码代码如下:

# vi /etc/sysctl.conf

修改net.ipv4.ip_forward=0的值为1 // 打开数据包的转发功能

复制代码代码如下:

# sysctl -p /etc/sysctl.conf // 重新载入/etc/sysctl.conf文件,如-p后未指定路径,则载入/etc/sysctl.conf

指定的值在系统进入多用户模式之后被设定。并不是所有的变量都可以在这个模式下设定。

sysctl 变量的设置通常是字符串、数字或者布尔型。 (布尔型用 1 来表示'yes',用 0 来表示'no')。

复制代码代码如下:

[root@Firewall sys]# sysctl -a //查看所有参数

[root@Firewall sys]# sysctl net.core.wmem_max //查看指定的参数

net.core.wmem_max = 131071

[root@Firewall sys]# sysctl net.core.wmem_max=256000 //修改指定的参数

net.core.wmem_max = 256000

实例

sysctl -a所看到的参数全部来自/proc/sys/目录下的文件内容,可以用grep加sort加ll的方法来查看与对应

复制代码代码如下:

[root@Firewall sys]# pwd

/proc/sys

[root@Firewall sys]# ll

total 0

dr-xr-xr-x 0 root root 0 Apr 12 14:29 crypto

dr-xr-xr-x 0 root root 0 May 10 15:53 debug

dr-xr-xr-x 0 root root 0 Apr 12 14:28 dev

dr-xr-xr-x 0 root root 0 Apr 12 14:28 fs

dr-xr-xr-x 0 root root 0 Apr 12 14:28 kernel

dr-xr-xr-x 0 root root 0 Apr 12 14:28 net

dr-xr-xr-x 0 root root 0 May 10 15:53 sunrpc

dr-xr-xr-x 0 root root 0 May 10 15:53 vm

复制代码代码如下:

[root@Firewall netfilter]# pwd

/proc/sys/net/netfilter

[root@Firewall netfilter]# sysctl -a|grep net.net|sort

net.netfilter.nf_conntrack_acct = 1

net.netfilter.nf_conntrack_buckets = 16384

net.netfilter.nf_conntrack_checksum = 1

net.netfilter.nf_conntrack_count = 1739

net.netfilter.nf_conntrack_expect_max = 256

net.netfilter.nf_conntrack_generic_timeout = 600

net.netfilter.nf_conntrack_icmp_timeout = 30

net.netfilter.nf_conntrack_log_invalid = 0

net.netfilter.nf_conntrack_max = 65536

net.netfilter.nf_conntrack_tcp_be_liberal = 0

net.netfilter.nf_conntrack_tcp_loose = 1

net.netfilter.nf_conntrack_tcp_max_retrans = 3

net.netfilter.nf_conntrack_tcp_timeout_close = 10

net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

net.netfilter.nf_conntrack_tcp_timeout_established = 432000

net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30

net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300

net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60

net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120

net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300

net.netfilter.nf_conntrack_udp_timeout = 30

net.netfilter.nf_conntrack_udp_timeout_stream = 180

复制代码代码如下:

[root@Firewall netfilter]# ll

total 0

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_acct

-r--r--r-- 1 root root 0 May 10 15:53 nf_conntrack_buckets

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_checksum

-r--r--r-- 1 root root 0 May 10 15:53 nf_conntrack_count

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_expect_max

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_generic_timeout

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_icmp_timeout

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_log_invalid

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_max

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_be_liberal

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_loose

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_max_retrans

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_close

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_close_wait

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_established

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_fin_wait

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_last_ack

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_max_retrans

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_syn_recv

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_syn_sent

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_time_wait

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_unacknowledged

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_udp_timeout

-rw-r--r-- 1 root root 0 May 10 15:53 nf_conntrack_udp_timeout_stream

复制代码代码如下:

[root@Firewall core]# sysctl -a|grep net.core|sort

net.core.dev_weight = 64

net.core.message_burst = 10

net.core.message_cost = 5

net.core.netdev_budget = 300

net.core.netdev_max_backlog = 1000

net.core.optmem_max = 10240

net.core.rmem_default = 111616

net.core.rmem_max = 131071

net.core.somaxconn = 8192

net.core.warnings = 1

net.core.wmem_default = 111616

net.core.wmem_max = 131071

net.core.xfrm_acq_expires = 30

net.core.xfrm_aevent_etime = 10

net.core.xfrm_aevent_rseqth = 2

net.core.xfrm_larval_drop = 1

复制代码代码如下:

[root@Firewall core]# ll

total 0

-rw-r--r-- 1 root root 0 May 10 15:53 dev_weight

-rw-r--r-- 1 root root 0 May 10 15:53 message_burst

-rw-r--r-- 1 root root 0 May 10 15:53 message_cost

-rw-r--r-- 1 root root 0 May 10 15:53 netdev_budget

-rw-r--r-- 1 root root 0 May 10 15:53 netdev_max_backlog

-rw-r--r-- 1 root root 0 May 10 15:53 optmem_max

-rw-r--r-- 1 root root 0 May 10 15:53 rmem_default

-rw-r--r-- 1 root root 0 May 10 15:53 rmem_max

-rw-r--r-- 1 root root 0 Apr 12 14:29 somaxconn

-rw-r--r-- 1 root root 0 May 10 15:53 warnings

-rw-r--r-- 1 root root 0 May 10 15:53 wmem_default

-rw-r--r-- 1 root root 0 May 10 15:53 wmem_max

-rw-r--r-- 1 root root 0 May 10 15:53 xfrm_acq_expires

-rw-r--r-- 1 root root 0 May 10 15:53 xfrm_aevent_etime

-rw-r--r-- 1 root root 0 May 10 15:53 xfrm_aevent_rseqth

-rw-r--r-- 1 root root 0 May 10 15:53 xfrm_larval_drop相关阅读:

Mac中的文字编辑有哪些功能可助小编进行文字编辑

PHP开发工具ZendStudio下Xdebug工具使用说明详解

使用Appcan客户端自动更新PHP版本号(全)

几种Win7/8下创建管理员权限的CMD命令行的方法总结

好用的AJAX类代码分享

fedora8在右键增加打开终端

JavaScript中的无阻塞加载性能优化方案

纯CSS绘制漂亮的圆形图案效果

css3中新增的样式使用示例附效果图

win8系统自带截图小工具使用技巧 win8自带的截图工具使用图解

Android图片处理实例分析

jquery easyui使用心得

JS下载文件|无刷新下载文件示例代码

php实现图片添加描边字和马赛克的方法

linux 修改proc目录,Linux_Linux中系统参数修改命令sysctl的使用讲解,sysctl配置与显示在/proc/sys目录 - phpStudy...相关推荐

  1. linux mkfs 源码,Linux系统下移植busybox中mkfs.vfat命令

    为了延长磁盘寿命来存储音视频文件,打发在格式化磁盘过程中将簇的大小设置大点.因为存储的音视频文件现对较大,那么将簇大小设置得尽可能大,这样可以增强磁盘读取数据的性能,同时也不会浪费太多空间. 但发现我 ...

  2. php 修改文件属性命令行,Linux_linux中如何通过命令修改文件属性,ls -l即可查看目录信息-rw - phpStudy...

    linux中如何通过命令修改文件属性 ls -l即可查看目录信息 -rwxr-xr-x 1 xura xura 1753786 2010-05-09 09:54 Grad 分别对应的是: 文件属性 连 ...

  3. mysql 修改结束符_MySQL数据库中DELIMITER修改结束符教程及应用实例

    关于DELIMITER 在MySQL中默认的结束符DELIMITER是;,它用于标识一段命令是否结束.在默认情况下,在命令行客户端中,如果有一行命令以;结束,那么回车后,MySQL将会执行该命令. 修 ...

  4. mysql中怎么修改字段_mysql表中怎么修改字段?

    在mysql表中,可以使用"ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;"语句来修改字段名称:使用"ALTER TABLE 表名 MODIF ...

  5. linux脚本添加source,shell中的source命令的巧妙用法

    首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...

  6. linux指定分区label,Linux_Linux中分区挂载和LABEL的指定,让Linux开机就挂载分区,我知 - phpStudy...

    Linux中分区挂载和LABEL的指定 让Linux开机就挂载分区,我知道有两种方法,一种是fstab,另一种是rc.local,我比较倾向前一种. 这两种方法各要注意: fstab是在开机时就挂载, ...

  7. java过滤器修改响应,在过滤器中实现修改http请求体和响应体

    在一些业务场景中,需要对http的请求体和响应体做加解密的操作,如果在controller中来调用加解密函数,会增加代码的耦合度,同时也会增加调试的难度. 参考spring中http请求的链路,选择过 ...

  8. mysql修改表charset_MySql数据库中查询修改表中字符编码(charset)的方法

    MySQL字符集多种多样,下面为您列举了其中三种最多见的MySQL字符集查看方法,该方法供您参考,但愿对您学习MySQL数据库能有所启迪.mysql 1.查看MySQL数据库服务器和数据库MySQL字 ...

  9. c语言 获取文件修改时间,C语言中用于修改文件的存取时间的函数使用

    C语言utime()函数:修改文件的存取时间和更改时间头文件: #include #include 定义函数: int utime(const char * filename, struct utim ...

最新文章

  1. Rhythmk 学习 Hibernate 02 - Hibernate 之 瞬时状态 离线状态 持久化状态 三状态
  2. Node.js-sublime text3 配置node.js(ERROR: The process node.exe not found.)
  3. ArcGIS Engine控件运行许可学习总结
  4. Linux 环境下umount, 报 device is busy 的问题分析与解决方法
  5. python 依据某几列累加求和_关于Python数组求和的四个问题及详解,让你更加爱Python!...
  6. 如何判断一个SAP CRM UI能否被扩展
  7. 西数数据战略投资固态硬盘
  8. 拼多多11.11:无定金、不预售,“好牌子、好实惠”底价直降
  9. 出门问问发布无线智能耳机,李志飞:语音交互的下一个爆点
  10. [转]JAVA自动装箱和拆箱
  11. 解决Android编译so库出错问题
  12. socket和URLConnection
  13. 将ascii码转换成汉字
  14. 降级降薪去 Amazon ——左耳朵
  15. 盘古:阿里云飞天分布式存储系统设计深度解析
  16. 基于深度学习的小目标检测方法的调查和性能评估
  17. [转载]坐标系统与投影变换_-刘艳红-_新浪博客
  18. archlinux+i3wm安装与配置
  19. 《计算机视觉工程师养成计划 》·数字图像处理·数字图像特征·链码
  20. 扫地机器人充电红灯闪烁响_智能扫地机器人的充电错误提示与处理

热门文章

  1. TurboDemo软件使用教程:视频编辑
  2. GPIO_SetBits(GPIOx,GPIO_Pin)
  3. Airbnb如何培养对客户的同理心
  4. 我们团队是如何落地DDD的(1)
  5. arduino控制dsb18b20传感器
  6. Fiddler过滤抓包数据
  7. D-CAP模式和DCS-control模式
  8. 世界坐标系-相机坐标系-像素坐标系
  9. eclipse java swt_Eclipse无法加载SWT库
  10. 长三角是指哪几个城市