Linux 系统TCP连接内存大小限制 调优
系统TCP连接内存大小限制
- TCP的每一个连接请求,读写都需要占用系统内存资源,可根据系统配置,对TCP连接数,内存大小,限制调优。
查看系统内存资源
记录内存 详情:cat /proc/meminfo
命令:free -m
TCP连接内存限制 内核调优
修改文件:/etc/sysctl.conf
生效命令:sysctl -p /etc/sysctl.conf
1、限制TCP总连接内存使用
# 内核分给TCP的内存大小范围,单位为page。
# 第一个数字表示,当 tcp 使用的 page 少于 196608 时,kernel 不对其进行任何的干预
# 第二个数字表示,当 tcp 使用了超过 262144 的 pages 时,kernel 会进入 “memory pressure” 压力模式
# 第三个数字表示,当 tcp 使用的 pages 超过 393216 时就会报:Out of socket memory。
net.ipv4.tcp_mem = 196608 262144 393216
注:最大范围可根据系统内存大小进行设置。
注:内核分配给TCP连接的内存,单位是Page,1 Page = 4096 Bytes。
注:查看分配给TCP连接得内存:getconf PAGESIZE
2、限制TCP单连接读写内存使用
# TCP连接读缓存大小。最小内存 缺省内存 最大内存(单位为:Byte字节)
net.ipv4.tcp_rmem = 4096 4096 1073741824 # TCP连接写缓存大小。最小内存 缺省内存 最大内存(单位为:Byte字节)
net.ipv4.tcp_wmem = 4096 4096 1073741824
注:4.0G TCP内存能容纳的连接数读写相加: 4000M/8 = 500K = 50万并发
注:TCP请求读写缓存可跟据程序平均请求资源大小设置。
Linux 系统TCP连接内存大小限制 调优的更多相关文章
- Linux内核 TCP/IP、Socket参数调优
Linux内核 TCP/IP.Socket参数调优 2014-06-06 Harrison.... 阅 9611 转 165 转藏到我的图书馆 微信分享: Doc1: /proc/sy ...
- (转)Linux内核 TCP/IP、Socket参数调优
Doc1: /proc/sys/net目录 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失) ...
- Linux内核TCP/IP参数分析与调优
转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/167.html?1456482565 如下图展示的是TCP的三个阶段.1,TCP三次握手. ...
- 盘点linux系统中的12条性能调优命令。
导读 性能调优一直是运维工程师最重要的工作之一,如果您所在的生产环境中遇到了系统响应速度慢,硬盘IO吞吐量异常,数据处理速度低于预期值的情况,又或者如CPU.内存.硬盘.网络等系统资源长期处于耗尽的状 ...
- Linux系统CPU的性能监控及调优
前言: 性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢.接口超时,服务器负载高.并发数低,数据库频繁死锁等.尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的 ...
- 修改linux系统TCP连接数
修改linux系统TCP连接数 centOS 6.x (1)vi /etc/sysctl.conf (2)添加参数 net.nf_conntrack_max = 655360 (3)sysctl -p ...
- Linux TCP并发请求溺出 调优
TCP并发请求溺出 调优:系统开启某个监听端口后,当多个TCP请求连接监听端后,会把多个请求交给backlog的默认监听队列由socket server一并处理,backlog有自己的队列长度默认12 ...
- Linux以KB显示内存大小
Linux以KB显示内存大小 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ free -k total used free shared buffers ca ...
- Linux以GB显示内存大小
Linux以GB显示内存大小 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ free -g total used free shared buffers ca ...
随机推荐
- Ubuntu系统安装nginx
1.首先查看linux系统 cat /proc/version Linux version 4.9.59-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (cr ...
- 第七天 py
- 使用 intro.js 库
使用 render() { const reducer = this.props.testReducer; return ( <React.Fragment> <button dat ...
- ArcEngine临时数据存储 创建内存工作空间
参考网址,这里 工作中有时候需要使用临时数据,以前都是创建一个默认的shapefile或者gdb,今天发现esri官方帮助文档给出了一个方法,可以创建内存工作空间,代码如下: public stati ...
- image的srcset属性
介绍 响应式页面中经常用到根据屏幕密度设置不同的图片.这个时候肯定会用到image标签的srcset属性.srcset属性用于设置不同屏幕密度下,image自动加载不同的图片.用法如下: <im ...
- Coroutines declared with async/await syntax is the preferred way of writing asyncio applications. For example, the following snippet of code (requires Python 3.7+) prints “hello”, waits 1 second, and
小结: 1.异步io 协程 Coroutines and Tasks — Python 3.7.3 documentation https://docs.python.org/3/library/a ...
- 更新Xcode10与iOS12 遇到的bug:library not found for -lstdc++.6.0.9
更新Xcode10与iOS12 遇到的bug:library not found for -lstdc++.6.0.9 解决办法:删除pod里导入的库文件,跑一下pod,再重新导入这些库文件,跑pod ...
- sql中遍历字符串
在sql或者存储过程中会需要遍历字符串. ), --如111,222,333,尾部加, ), @Id int, ) set @split = ',' ) begin ,) ,charindex(@sp ...
- vue 中使用 axios 请求接口,请求会发送两次问题
在开发项目过程中,发现在使用axios调用接口都会有两个请求,第一个请求时,看不到请求参数,也看不到请求的结果:只有第二次请求时才会有相应的请求参数以及请求结果: 那为甚么会有这么一次额外的请求呢,后 ...
- JDBC连接MySQL与Oracle
JDBC连接MySQL .JDBC连接Oracle (跳转) JDBC连接MySQL import org.junit.Test; import java.sql.*; /** * JDBC连接MyS ...