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

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

延伸 · 阅读

精彩推荐
  • LinuxLinux中环境变量配置的步骤详解

    Linux中环境变量配置的步骤详解

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的...

    Myths7882022-02-10
  • Linux确保Linux系统安全的前提条件 漏洞防护

    确保Linux系统安全的前提条件 漏洞防护

    Linux 作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无...

    Linux之家2642020-04-11
  • LinuxLinux常用的日志文件和常用命令

    Linux常用的日志文件和常用命令

    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。 Linux 中提供了异常日志,并且日志的细节是可配置的。Linux 日志都以明文形式存储,所...

    Linux教程网2632020-04-18
  • Linuxlinux中rmdir命令使用详解(删除空目录)

    linux中rmdir命令使用详解(删除空目录)

    今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的 ...

    linux命令大全5372019-11-19
  • Linux手把手教您在 Linux 上使用 GPG 加解密文件

    手把手教您在 Linux 上使用 GPG 加解密文件

    在本教程中,我将告诉你如何用 GPG 加密和解密文件。这是一个简单的教程,你可以在你的 Linux 系统上尝试所有的练习。这将帮助你练习 GPG 命令,并在你...

    Linux中国6962021-12-15
  • LinuxLinux上设置用户通过SFTP访问目录的权限的方法

    Linux上设置用户通过SFTP访问目录的权限的方法

    这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋...

    OSChina10022019-06-19
  • Linux详解Linux系统下PXE服务器的部署过程

    详解Linux系统下PXE服务器的部署过程

    这篇文章主要介绍了Linux系统下PXE服务器的部署过程,包括对PXE的API架构作了一个基本的简介,需要的朋友可以参考下...

    运维之道9812019-07-04
  • LinuxLinux lnmp下无法使用mail发邮件的两种解决方法

    Linux lnmp下无法使用mail发邮件的两种解决方法

    在配置了lnmp环境后,出现了mail函数不能发送邮件的问题,其实有两种方法,一是使用sendmail组件,而是使用postfix。下面为大家一一介绍下 ...

    Linux之家4042019-09-17