Linux内核优化和系统设置

      最后更新:2021-11-21 00:49:12 手机定位技术交流文章

      收集数据,发现只记录了参数,没有发表评论,以及重组:

      1. 首先,提供普遍使用的例子。

      2. 每件事情都有详细解释。

      net.ipv4.ip_forward = 0
      VPN,关闭线路传输,等等
      #Linux出于安全原因,暗含禁止发送数据包。
      # 当主机包含不止一个网页卡时, 其中一人会收到一个数据包, 数据包被打包到另一张网络卡上, 继续按照路径图发送。 这通常是路由器所做的事情 。

      net.ipv4.conf.default.rp_filter = 1
      # 能够对数据包的源地址进行核查,以限制DDOS攻击行为,避免IP欺诈。
      # 0: 不要暴露源代码用于地址验证 。
      # 1: 开始对每个输入的数据包进行严格的逆向路径核查。 验证逆向路径是否是每个输入的数据包的最佳路径。 如果逆向路径不是最佳路径, 则直接丢弃数据包 。
      # 2: 开始松散的逆向路径校验。 对于每个到达的数据包, 检查以查看源地址是否可达到, 即反向路径是否可( 通过任何网络门户), 如果可以的话, 直接丢弃数据包

      net.ipv4.conf.default.accept_source_route = 0
      #禁止IP源路由

      kernel.sysrq = 0
      # 使用ysrq 组合来调试内核是一种常用技术;为了安全起见,设定为零。
      #sysrq 是一个内置内核和内核内核调试工具,可用于收集系统操作信息,如系统使用、CPU任务处理和进程活动等。无论操作如何,只要内核不完全锁定,系统中的内核都可以调试工具。

      kernel.core_uses_pid = 1
      # 确定核心文件的文件名是否包含 Pid 作为扩展名 。
      # 当系统异常退出时, 内核会在当前工作目录中创建核心文件, 可以用 gdb 查看 。
      # 如果系统生成一个没有其它扩展名的核心文件, 全部被命名为核心, 而新形成的核心文件将覆盖原始的核心文件 。

      net.ipv4.tcp_syncookies = 1
      # 限制每个信件队列的大小( 字节), 打开同步以预防同步食物攻击
      # 当服务器获得 tcp 同步软件包并返回 tcp syn+ack 软件包时, 没有给出特定的数据区域, 但从此同步包中计算到 cookie 值 。
      # 接收 tcp 包时, 请校验包中的 cookie 有效性 。 如果合法的话, 为未来的 tcp 连接重新分配特定数据区域, 默认 0, 1 意味着打开 。

      kernel.msgmnb = 65536
      # 文件在信件队列中设定最多字节数; 默认值: 16384。

      kernel.msgmax = 65536
      # 文档设定了从一个进程到另一个进程传递信息的最长长度。 进程间信息出现在内核的内存中, 而不是硬盘驱动器上。 因此, 加值会增加操作系统所需的内存量 。

      kernel.shmmax = 68719476736
      # 此选项定义了共享存储字段的最大大小( 字节) 。 默认值为 32M 。

      kernel.shmall = 4294967296
      # 此选项反映了在任何时刻( 页面中) 都可以存取的共享内存总量。 默认值为 2097152, 通常不需要更改 。

      net.ipv4.tcp_max_tw_buckets = 40000
      #等待时间的最大值立即显现出来并提醒人们注意。
      #如果你不是像Nginx这样的中间体, 不要担心港口正在耗尽, 你可以在大量的内存中保存这个值 。

      net.ipv4.tcp_sack = 1
      禁用 tcp_ sack
      #开启有选择的应答
      # 所选的接收信息响应序列可以改善性能。

      net.ipv4.tcp_window_scaling = 1
      # 允许更大的 TCP 窗口。 如果 TCP 窗口大小超过 65535 (64K), 数值必须设定为 1 。

      net.core.wmem_default = 8388608
      # 用于 TCP 锁链发送缓冲符( 字节) 的默认内存设置

      net.core.rmem_default = 8388608
      # TCP 内存可接收缓冲器( 字节) 的保存内存默认值

      net.core.rmem_max = 16777216
      # 分配给 TCP 储盘的最大内存值( 字节) 得到缓冲值

      net.core.wmem_max = 16777216
      # 为 TCP 编队分配的最大内存值( 字节) 发送缓冲

      net.core.netdev_max_backlog = 262144
      # 当每个网络接口比内核进程更快得到软件包时, 向队列提供的数据集数量 。

      net.core.optmem_max = 81920
      # 每个插座允许的最大缓冲区大小( 字节) 。

      net.core.somaxconn = 65535
      # 这是套接听( 听) 的密闭限制( 听), 默认设置为 128 。

      net.ipv4.tcp_max_orphans = 3276800
      # 系统可以支持数量无限的与任何进程无关的TCP锁。


      net.ipv4.tcp_max_syn_backlog = 262144
      # 计及客户端尚未确认的最大连接请求数量。 128M 内存为 1024 的系统默认值为 128M 内存为 128 的系统默认值, 而内存为 128 的系统默认值为 128 。

      net.ipv4.tcp_timestamps = 0
      时间戳可以让内核接受这个“随机”数据包。 我们必须在这里禁用它 。

      net.ipv4.tcp_synack_retries = 1
      # 为了建立对等连接, 内核必须发送一个 SYN, 然后发送一个对上一个 SYN 回答的 ACK 。 这是三节握手中的第二节。 此设置指定了在内核关闭连接前交付的 SYN+ACK 软件包的数量 。

      net.ipv4.tcp_syn_retries = 1
      # 在内核终止连接前发送的 SYN 包数 。

      net.ipv4.tcp_tw_recycle = 1
      # 打开 TCP 连接时快速恢复时空插座, 默认值为零, 表示连接应该关闭 。

      net.ipv4.tcp_tw_reuse = 1
      # 开始重用 TCP 连接连接, 以便重新使用新 TCP 连接的时间_ 等待插座( 主要是时间_ 等待连接); 默认为 0, 表示连接已关闭 。

      net.ipv4.tcp_mem = 94500000 915000000 927000000
      TCP没有低于这一数量的内存压力,TCP已达到内存阶段,TCP拒绝分配套接字(单位:内存页)。

      net.ipv4.tcp_rmem = 4096 87380 8388608
      TCP读取缓冲 #

      net.ipv4.tcp_wmem = 4096 87380 8388608
      TCP创造了一个缓冲
      # 指定每个套接字自动优化所需的内存量 。
      # 分配给插座的发送缓冲器的字节数最少。
      # 第二个设置是默认值, 默认值将包含在 vmem_ default 中, 如果系统负载不是太大, 缓冲区可以升至这个值, 如果系统负载不是太高, 第二个设置是默认值, 默认值将包含在 vmem_ default 中, 并且如果系统负载不是太高, 缓冲区也可以升至这个值 。
      # 第三个变量是可交付缓冲区的空间的最大字节,该字节由 wmem_max 覆盖。

      net.ipv4.tcp_keepalive_time = 1200
      # 在TCP开始提供维护检测之前, 与免费连接的秒数, 默认情况下该检测时间为 7200 秒 。

      net.ipv4.tcp_keepalive_intvl = 60
      #CP 跟踪连接检测之间的秒数。默认值为75。

      net.ipv4.tcp_keepalive_probes = 3
      # 如果连接没有得到另一端的回应, 在断开和结束连接之前的最多检测次数。 默认为 9 。

      net.ipv4.tcp_fin_timeout = 30
      # 如果包件在此端关闭, 此参数将指定它在 FIN- WAIT-2 中逗留多久 。

      vm.swappiness = 0
      # 默认值为 60, 表示在使用交换之前存取的内存百分比。 数值越低, 交换的利用率越低, 物理内存中的内存页就越多 。
      # 0:禁用交换
      #1: 最低数量没有完全停止使用。
      # 10: 当机器有足够的内存时, 提高性能的推荐值。
      # 100:活跃贸易

      net.ipv4.ip_local_reserved_ports = 80
      拯救港口 避免占领

      vm.max_map_count=655360
      # 一个进程可以拥有的 Vma 虚拟存储区域的最大数量。 默认值为 65536 。
      # 虚拟记忆区是一个连续虚拟地址空间区。如果软件试图在记忆中绘制文件、连接到共享的记忆区段或分配堆叠空间,这些区将在整个过程的生命周期内生成。
      # 此值的增加限制了该流程可能拥有的 VMA 。 限制 VMA 拥有的流程的总数可能导致应用错误, 因为当该流程击中 VMA 线,但仅释放少量内存供其他内核流程使用时, 操作系统报告内存不足 。
      # 如果你的操作系统在NORMAL区域只有少量的内存, 减少这个数字将有助于释放内核使用的内存。

      net.ipv4.ip_local_port_range = 1024    65535
      # 默认情况下, 外部连接端口范围为 32768-61 00 。

      3, 3, COMOS, 原剧本里是什么?

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/13656.html

          热门文章

          文章分类