服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux中系统参数修改命令sysctl的使用讲解

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

2019-06-19 14:46luckyhe Linux

这篇文章主要介绍了Linux中系统参数修改命令sysctl的使用讲解,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

延伸 · 阅读

精彩推荐
  • Linuxssh 登录很慢该如何解决

    ssh 登录很慢该如何解决

    这篇文章主要介绍了ssh 登录很慢该如何解决的相关资料,这里提供了两种方法,DNS反向解析及关闭ssh的gssapi认证的解决办法,需要的朋友可以参考下...

    linuxeye9922021-12-16
  • Linuxlinux top命令详解

    linux top命令详解

    这篇文章主要介绍了linux top命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    sparkdev5622022-03-01
  • Linux将 Linux 终端与 Nautilus 文件管理器结合起来

    将 Linux 终端与 Nautilus 文件管理器结合起来

    Nautilus 是 GNOME 桌面环境中的图形化文件浏览器。你可以使用它来访问和管理系统中的文件和文件夹。 尽管并非所有人都喜欢使用终端来管理文件和目录,...

    未知812023-08-08
  • LinuxLinux系统下无法卸载挂载的目录怎么办?

    Linux系统下无法卸载挂载的目录怎么办?

    我们在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目...

    今日头条10302020-12-30
  • Linux理解 Linux/Unix 登录脚本的技巧

    理解 Linux/Unix 登录脚本的技巧

    有一些常见的情况,例如从Debian的包管理程序到Iaas的管理中,很多任务需要设置环境变量才能正常运行。 有时,程序通常只需要在 登陆时运行一次,例如...

    未知1042023-05-12
  • Linuxlinux驱动程序开发详细介绍

    linux驱动程序开发详细介绍

    前提,一般来说内核代码的错误可能会引起一个用户进程的死亡,或者整个系统的瘫痪,更严重的后果,可能导致磁盘损伤~因此建议最好有一台实验机进行...

    Linux教程网5392019-12-17
  • Linux在Linux系统中创建新的亚马逊AWS访问密钥的方法

    在Linux系统中创建新的亚马逊AWS访问密钥的方法

    如何在Linux系统中创建新的亚马逊AWS访问密钥?我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供AWS访问密钥ID和秘密访问密钥,我怎样创建一个...

    Linux教程网6182019-10-30
  • Linuxlinux设置tomcat自启动的方法

    linux设置tomcat自启动的方法

    这篇文章主要介绍了linux设置tomcat自启动的方法,需要的朋友可以参考下...

    Linux教程网8512021-10-10