Linux内核优化配置

1.文件限制

·每建立一个TCP连接,都会生成一个文件句柄,当无法创建文件时,往往会抛出emfile的错误。

·可通过命令ulimit -n查看,linux下默认一般为1024,mac下则为256

·修改文件限制(基于linux)

1.打开文件/etc/security/limits.conf

2.添加或修改nofile配置:

*   soft   nofile  300000

*   hard  nofile  300000

3.重启生效

2. 打开进程限制

·如果你对进程总数量没有特殊要求,可以不修改本选项,如果你是一个高性能多进程的server,需要很多进程来处理,那么可以修改本选项。ulimit -a 里可以看到 max user processes

·配置文件:/etc/security/limits.d/20-nproc.conf (RHEL 7/CentOS 7,如果是 RHEL6.x/CentOS6.x 文件在/etc/security/limits.d/90-nproc.conf)

·添加或修改:*   soft    nproc  4096

```

3. 端口号限制

·Unix/Linux 端口为16位正整数, 范围165535;但1024以下端口需`root`,所以一般端口范围取102465535。而TCP连接往往是IP:Port,当只有一个IP时,TCP连接最大数量大约在6W

4. 网络配置

# 避免放大***

net.ipv4.icmp_echo_ignore_broadcasts = 1

# 开启恶意icmp错误消息保护

net.ipv4.icmp_ignore_bogus_error_responses = 1

# 开启SYN洪水***保护

net.ipv4.tcp_syncookies = 1

# 开启并记录欺骗,源路由和重定向包

net.ipv4.conf.all.log_martians = 1

net.ipv4.conf.default.log_martians = 1

# 处理无源路由的包

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

# 开启反向路径过滤

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

# 确保无人能修改路由表

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

# 不充当路由器

net.ipv4.ip_forward = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

# 开启execshild

kernel.exec-shield = 1

kernel.randomize_va_space = 1

# IPv6设置

net.ipv6.conf.default.router_solicitations = 0

net.ipv6.conf.default.accept_ra_rtr_pref = 0

net.ipv6.conf.default.accept_ra_pinfo = 0

net.ipv6.conf.default.accept_ra_defrtr = 0

net.ipv6.conf.default.autoconf = 0

net.ipv6.conf.default.dad_transmits = 0

net.ipv6.conf.default.max_addresses = 1

# 优化LB使用的端口

# 增加系统文件描述符限制

fs.file-max = 65535

# 允许更多的PIDs (减少滚动翻转问题); may break some programs 32768

kernel.pid_max = 65536

# 增加系统IP端口限制

net.ipv4.ip_local_port_range = 2000 65000

# 增加TCP最大缓冲区大小

net.ipv4.tcp_rmem = 4096 87380 8388608

net.ipv4.tcp_wmem = 4096 87380 8388608

# 增加Linux自动调整TCP缓冲区限制

# 最小,默认和最大可使用的字节数

# 最大值不低于4MB,如果你使用非常高的BDP路径可以设置得更高

# Tcp窗口等

net.core.rmem_max = 8388608

net.core.wmem_max = 8388608

net.core.netdev_max_backlog = 5000

net.ipv4.tcp_window_scaling = 1

·配置好后,执行命令生效,或者重启系统

/sbin/sysctl -p /etc/sysctl.conf

/sbin/sysctl -w net.ipv4.route.flush=1

·通过sysctl -p 可查看配置信息, 如果错误会出现error信息

·补充:

o当主动断开TCP连接时,服务端会存在过多处于TIME_WAIT状态的socket,会影响服务器的处理能力。

o优化配置:

# 开启重用,将TIME_WAIT的socket重新用于连接

net.ipv4.tcp_tw_reuse = 1

# 开启TCP连接中TIME_WAIT的socket快速回收

net.ipv4.tcp_tw_recycle = 1

# 修改系统默认的TIMEOUT时间

net.ipv4.tcp_fin_timeout = 30

linux内核优化项,Linux内核优化配置相关推荐

  1. 6选择内核启动项_Linux内核都没搞懂,Alot和你还有什么关系?

    文章字数:3000 干货指数:⭐⭐⭐⭐⭐ 近几年,"AIoT"火的一塌糊涂,2020抗疫期间,我国更是应用了一系列AI机器人和物联网技术来防控疫情,"硬核科技" ...

  2. Linux内核启动速度优化,嵌入式Linux启动时间优化的秘密之五-Bootloader

    描述 本文主要讲述嵌入式Linux启动时间优化的秘密,我们继续上篇没有讲完的嵌入式Linux启动时间优化方法,本文主要会讲Bootloader.想看上一篇的请查看本文结尾的链接. Bootloader ...

  3. linux tcp文件分包_Linux内核参数优化

    前言: 1:介绍下linux内核的整个知识体系,(学会它,你肯定对linux内核有不一样的理解.) 2:谈谈Linux内核参数优化 一:linux内核技术点 Linux内核知识体系分为五个部分 1:l ...

  4. Linux启动时间优化-内核和用户空间启动优化实践

    小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+评论转发+关注我,后面会有很多干货.我有一些面试题.架构.设计类资料可以说是程序员面试必备!所有资料都整理到网盘了,需要的话欢迎下载!私信我回复 ...

  5. Linux系统工程师--(1)Vsftpd服务的部署及优化与linux中内核级加强型火墙的管理

    Linux系统工程师 实验所用系统为Redhat-rhel8.2. 目录 Linux系统工程师 Linux的系统工程师--Vsftpd服务的部署及优化 一.ftp介绍 二.vsftpd安装及启用 三. ...

  6. linux 内核连接跟踪,Linux内核连接跟踪锁的优化分析(1)

    Linux内核连接跟踪锁的优化分析(1) 作者:gfree.wind@gmail.com 博客:linuxfocus.blog.chinaunix.net 微博:weibo.com/glinuxer ...

  7. linux 内核优化实战,Linux编译优化必须掌握的几个姿势总结

    01.编译选项和内核编译 Linux内核(英语:linux kernel),是一种计算机操作系统内核,已C语言和汇编语言写成,匹配POSIX标准,以GNU通用公共许可证发布.从技术上说Linux只是一 ...

  8. Linux 系统安装后优化项常见操作

    经过主要的优化过程后,Linux完成了基础环境的配置,将完成优化后的Linux当做Linux Base基线,在此之上再部署相关应用会大大降低业务的故障性.部署的困难性. 1.2 优化说明 本文在每一项 ...

  9. [转]Linux 2.6.19.x 内核编译配置选项简介

    Linux 2.6.19.x 内核编译配置选项简介 作者:金步国,转载地址:http://lamp.linux.gov.cn/Linux/kernel_options.html 版权声明 本文作者是一 ...

最新文章

  1. Coursera ML笔记 - 神经网络(Learning)
  2. 浅谈java中extends与implements的区别
  3. 实现Windows直接远程访问Ubuntu桌面和解决VNC连接Ubuntu桌面灰色的问题解决
  4. Python 中的 None 与真假
  5. 全新的移动界面设计素材
  6. python3 xpath_【学习笔记】Python3-爬虫-xpath
  7. rs232接口_USB转RS232接口9针串口线,工控数据转接线驱动安装方法
  8. mac svn 可视化界面_SmartSVN for mac 14.0.1
  9. 什么是偏振光和UV光?
  10. 德赛西威Mib280D升级0393版本系统
  11. matlab 判断大小写,【万大暗】matlab字符串不分字母大小写按字母表排序问题
  12. select函数使用浅析
  13. 银行活期存取款业务处理系统的数据流图
  14. 基于Java+SpringBoot+vue实现图书借阅和销售商城一体化系统
  15. 字节跳动All in教育的战略决心与长期主义
  16. next cloud_Google Cloud Next '17主题演讲的5个重要要点
  17. 幻城的QQ空间伤感日志:亲爱的还幸福吗?
  18. 软件测试是什么?我如果要学的话都该学哪些技能?
  19. python3 大文件去重
  20. 外包的水太深了,18k的阿里外包不太敢去.....

热门文章

  1. iss版本服务器读取_Netty每次读取客户端数量
  2. er图 navicat_navicat怎么生成er图
  3. market1501正则表达式提取行人id和相机id
  4. 3-2Tensor的基本定义
  5. 边城高级中学2021届高考成绩查询,边城高级中学举行2021届高三学生成人礼暨高考誓师大会...
  6. 类 java_java类的基本结构
  7. 计算机应用能力考试用书有哪些,全国专业技术人员计算机应用能力考试用书
  8. python 数据变化——n次多项式
  9. 缺失值填充5——AutoEncoder填充序列缺失值
  10. android广播内容显示在屏幕上,在Android本机来电屏幕上弹出窗口,例如真正的来电者Android应用...