`

linux sysctl.conf中相关重要设定的详细说明

阅读更多
$ /proc/sys/net/core/wmem_max
最大socket写buffer,可参考的优化值:873200
$ /proc/sys/net/core/rmem_max
最大socket读buffer,可参考的优化值:873200
$ /proc/sys/net/ipv4/tcp_wmem
TCP写buffer,可参考的优化值: 8192 436600 873200
$ /proc/sys/net/ipv4/tcp_rmem
TCP读buffer,可参考的优化值: 32768 436600 873200
$ /proc/sys/net/ipv4/tcp_mem
同样有3个值,意思是:
net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力.
net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段.
net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket.
上述内存单位是页,而不是字节.可参考的优化值是:786432 1048576 1572864
$ /proc/sys/net/core/netdev_max_backlog
进入包的最大设备队列.默认是300,对重负载服务器而言,该值太低,可调整到1000.
$ /proc/sys/net/core/somaxconn
listen()的默认参数,挂起请求的最大数量.默认是128.对繁忙的服务器,增加该值有助于网络性能.可调整到256.
$ /proc/sys/net/core/optmem_max
socket buffer的最大初始化值,默认10K.
$ /proc/sys/net/ipv4/tcp_max_syn_backlog
进入SYN包的最大请求队列.默认1024.对重负载服务器,增加该值显然有好处.可调整到2048.
$ /proc/sys/net/ipv4/tcp_retries2
TCP失败重传次数,默认值15,意味着重传15次才彻底放弃.可减少到5,以尽早释放内核资源.
$ /proc/sys/net/ipv4/tcp_keepalive_time
$ /proc/sys/net/ipv4/tcp_keepalive_intvl
$ /proc/sys/net/ipv4/tcp_keepalive_probes
这3个参数与TCP KeepAlive有关.默认值是:
tcp_keepalive_time = 7200 seconds (2 hours)
tcp_keepalive_probes = 9
tcp_keepalive_intvl = 75 seconds
意思是如果某个TCP连接在idle 2个小时后,内核才发起probe.如果probe 9次(每次75秒)不成功,内核才彻底放弃,认为该连接已失效.对服务器而言,显然上述值太大. 可调整到:
/proc/sys/net/ipv4/tcp_keepalive_time 1800
/proc/sys/net/ipv4/tcp_keepalive_intvl 30
/proc/sys/net/ipv4/tcp_keepalive_probes 3
$ proc/sys/net/ipv4/ip_local_port_range
指定端口范围的一个配置,默认是32768 61000,已够大.

net.ipv4.tcp_syncookies = 1
表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1
表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1
表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30
表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。
net.ipv4.tcp_keepalive_time = 1200
表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range = 1024 65000
表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
net.ipv4.tcp_max_syn_backlog = 8192
表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets = 5000
表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为 5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

本文出自 “虚拟的现实” 博客,请务必保留此出处http://waringid.blog.51cto.com/65148/183496
分享到:
评论

相关推荐

    sysctl.conf:我们的服务器端 sysctl.conf 内核参数,如当前部署

    sysctl.conf是一个至关重要的配置文件,它在Linux系统中扮演着调整内核参数的角色。通过对sysctl.conf的精细调整,我们可以优化服务器性能,提升安全性,以及确保系统的稳定运行。本文将详细探讨sysctl.conf的结构、...

    sysctl参数中文注释

    在 `sysctl.conf` 文件中,你可以设定这些参数以优化系统性能、安全性和稳定性。以下是一些 `sysctl` 参数的中文解释: 1. `dev.scsi.logging_level = 0`:该参数控制SCSI驱动程序的日志级别,0表示关闭日志记录,...

    [服务器性能优化]Linux下高并发socket最大连接数和sysctl(time_wait)设置

    在Linux系统中,服务器性能优化是一项关键...通过调整`sysctl.conf`文件中的相关参数,可以有效地提升系统性能,降低延迟,增强服务的稳定性。不过,任何改动都需要结合具体业务场景和硬件资源进行,以达到最佳效果。

    Linux系统下快速配置HugePages的完整步骤

    在本教程中,我们将详细介绍在Linux环境下快速配置HugePages的步骤。 首先,我们了解为什么需要配置`memlock`限制。`memlock`是Linux的一项功能,允许进程锁定内存,使其不会被交换到磁盘上。对于大型数据库系统,...

    sysctl_net_netrom.rar_V2

    在实际操作中,我们需要根据网络环境的具体需求,通过sysctl命令行工具或sysctl.conf配置文件来调整这些参数,以达到最优的网络性能。 总的来说,NET ROM在Linux v2.13.6中的作用虽然相对有限,但对于那些仍然依赖...

    linux上安装Oracle 10g 参数设定

    ### Linux上安装Oracle 10g 参数设定 #### 一、概述 在Linux环境中部署Oracle 10g数据库是一项复杂的任务,需要对操作系统进行一系列的配置优化,以确保Oracle能够稳定运行并达到预期的性能水平。本文将详细介绍...

    Linux内核优化是指通过调整内核的参数和设置,提高Linux系统的性能和效率

    本文将详细介绍Linux内核优化的相关概念、方法以及具体实践案例。 #### 二、Linux内核优化定义 Linux内核优化主要是指通过对Linux内核的参数进行调整和设置,从而提升系统的性能与效率的过程。这种优化可以通过...

    linux中的weblogic性能调优.pdf

    - 在`/etc/sysctl.conf`文件中增加相关参数,例如`net.core.rmem_default`和`net.core.wmem_default`分别设置默认的TCP接收和发送缓冲大小。`net.core.rmem_max`和`net.core.wmem_max`设置最大值。`...

    linux中安装ORACLE10g数据库详细步骤

    Linux 中安装 ORACLE10g 数据库详细步骤 Linux 是一个开源的操作系统,在服务器应用中广泛使用。ORACLE 是一个关系型数据库管理系统,是当前最流行的数据库管理系统之一。安装 ORACLE10g 数据库需要在 Linux 操作...

    高负载系统,网络参数调整 linuxetc.doc

    本文将详细讲解如何通过调整`/etc/sysctl.conf`文件中的参数来优化网络性能,特别是针对可能出现的高并发连接、SYN攻击防护以及资源利用率等方面。 首先,`net.ipv4.tcp_syncookies = 1`是一个关键设置,它启用了...

    oracle11g--linux6.6安装过程.docx

    2. **参数更改的即时应用**:使用`sysctl -p`命令,可以立即应用`/etc/sysctl.conf`中的更改,而无需重启系统。 3. **环境变量设置**:在`/etc/profile`中添加代码,针对Oracle用户调整`ulimit`,以设置最大进程数...

    LINUX性能调优方法总结.docx

    这些设置应添加到 `/etc/sysctl.conf` 文件中,并通过运行 `sysctl -p /etc/sysctl.conf` 来应用。请注意,不同的系统环境可能需要调整不同的参数,以达到最佳性能。 接下来,我们讨论磁盘子系统的调优。在LAMP...

    linux_thread_stack_size.rar_linux stack size_linux stacksize_thr

    在Linux操作系统中,线程是进程的一个执行单元,每个线程都有自己独立的栈空间,用于存储函数调用时的局部变量、返回地址等信息。线程栈大小的设定对线程性能有着直接的影响,过大可能导致内存浪费,过小则可能引发...

    sysctl函数 - CSDN博客.pdf

    此外,一些系统参数可以通过配置文件(如`/etc/sysctl.conf`)来预先设定,系统启动时会自动应用这些设置。 总的来说,`sysctl`函数是系统编程中的一个重要工具,对于理解和调试系统行为、优化系统性能都有着重要...

    linux系统优化的相关参数参考.pdf

    在优化Linux内核参数时,一般会在`/etc/sysctl.conf`文件中添加上述配置,并使用`/sbin/sysctl -p`命令使修改生效。这些优化对于提高服务器性能、防止攻击以及处理高并发连接至关重要,尤其是在运行LNMP环境的服务器...

    CentOS系统参数优化.zip

    首先,`sysctl.conf`是Linux系统中用于配置内核参数的重要文件。通过修改`sysctl.conf`,我们可以调整内存管理、网络、文件系统等方面的参数。例如,增加`vm.swappiness`值可以减少系统对硬盘交换的依赖,提高内存...

    Redhat安装Oracle11g.docx

    * sysctl.conf 参数设定:需要在 /etc/sysctl.conf 文件中添加以下参数,以提高服务器的性能:`fs.file-max = 6815744`、`net.core.rmem_default = 262144`、`net.core.wmem_default = 262144` 等。 * limits.conf ...

    Linux5.6_x64 Install Oracle 11g R2详细过程

    在本文中,我们将详细探讨如何在Linux5.6_x64环境下安装Oracle 11g R2数据库。这个过程涉及到多个步骤,包括安装操作系统、配置网络、安装必要的软件包以及调整系统参数,确保Oracle数据库能够顺利运行。 首先,...

    Linux操作系统调优参数.docx

    在Linux操作系统中,调优是优化系统性能的关键步骤,尤其是对于网络密集型应用而言。TCP/IP参数调优能够显著改善网络通信效率,减少延迟并提高吞吐量。这些参数主要位于`/proc/sys/net`目录下,它们允许系统管理员...

Global site tag (gtag.js) - Google Analytics