kernel TCP time wait bucket table overflow】的更多相关文章

# 故障描述 有一个需求是实时分析API接口访问日志,提取token去数据库查询对应的uid,然后收集一些指标存入到hbase中. 当程序执行一会后会被系统杀死 Killed ! # 故障排查 .CPU平均负载0..内存空闲29G .查看系统日志 /var/log/messages 提示:kernel: TCP: time wait bucket table overflow .查找资料发现是因为 socket TIME_WAIT 超出了内核设定的上限值 # 解决方法 shell > vim /…
早上一台rabbitmq和Java所在的服务器,客户端反馈超级卡,看io和cpu都不高.发现六七万消息挤压,临时性问题解决之后,看/var/log/messages,发现很多TCP: time wait bucket table overflow,如下所示: Nov 22 10:36:08 iZ237hn51s7Z kernel: TCP: time wait bucket table overflowNov 22 10:36:08 iZ237hn51s7Z kernel: TCP: time…
/var/log/messages 中出现大量的 TCP: time wait bucket table overflow 引起该现象的原因是服务器tcp的连接数太多,超出了内和定义的最大数 临时改变使用 # > /proc/sys/net/ipv4/tcp_max_tw_buckets 永久有效可如下 #vim /etc/sysctl.conf net.ipv4.tcp_max_tw_buckets = # sysctl -p 执行命令 netstat -an | | awk '{print…
转载自http://blog.51cto.com/benpaozhe/1767612: 一直对这个问题知其然而不知其所以然,这些日子再次碰到,看了很多的资料,彻底解决一下,呵呵,先上个图,所有理解围绕着此图来看,此图描述了四次挥手的整个过程: 通过此图先说明几个概念: TIME_WAIT的产生条件:主动关闭方在发送四次挥手的最后一个ACK会变为TIME_WAIT状态,保留次状态的时间为两个MSL(linux里一个MSL为30s,是不可配置的) TIME_WAIT两个MSL的作用:可靠安全的关闭T…
.TCP: time wait bucket table overflow tcp的连接数超出了服务器设置的连接数 1 2 3 4 5 6 [root@test log]# netstat -antp | awk '/^tcp/{++a[$6]}END{for (i in a) printf("%-10s\t%d\n",i,a[i])}'         [root@test log]# netstat -nt | cut -c 40- | cut -d: -f1 | sort | u…
在android项目中要实现一个需求 为了性能的要求只能用c代码来实现功能. 这样就牺牲了java跨平台性. 通过加载.so的方式,把用c实现的模块集成到app中. android提供jni层,作为一个适配器. 可以在java层调用c接口,在jni层可以通过java提供的反射机制调用java接口和创建java对象. 最后需求完成了,自测也没问题,嘻嘻,自己也开心了一下,但是提交测试后,测试人员马上报了一个bug. 出现local reference table overflow (max=512…
接到保障,说某来机器服务没法访问,于是,准备连接到机器上去看个究竟. 尼玛居然连不上,连ping都ping不通,无奈只能求助机房. 机房人员检查, 发现报 neighbour table overflow 错误. 无奈让机房的人员重启了服务器. 查找原因,搜索得到如下说法: 第一种说法: 内核维护的arp表过于庞大, 发生抖动, 因此导致了这种情况,几个内核ARP参数:=================================gc_stale_time决定检查一次相邻层记录的有效性的周期…
前言 bucket table(桶表)是对数据进行哈希取值,然后放到不同文件中存储 应用场景 当数据量比较大,我们需要更快的完成任务,多个map和reduce进程是唯一的选择.但是如果输入文件是一个的话,map任务只能启动一个.此时bucket table是个很好的选择,通过指定CLUSTERED的字段,将文件通过hash打散成多个小文件. create table test (id int, name string ) CLUSTERED BY(id) SORTED BY(name) INTO…
nf_conntrack: table full, dropping packet. 终结篇   "连接跟踪表已满,开始丢包"!相信不少用iptables的同学都会见过这个错误信息吧,这个问题曾经也困扰过我好长一段时间.此问题的解决办法有四种(nf_conntrack 在CentOS 5 / kernel <= 2.6.19中名为 ip_conntrack ): 一.关闭防火墙. 简单粗暴,直接有效 chkconfig iptables off chkconfig ip6tabl…
一.前言 在如今的CTF比赛大环境下,掌握glibc堆内存分配已经成为了大家的必修课程.然而在内核态中,堆内存的分配策略发生了变化.笔者会在介绍内核堆利用方式之前先简单的介绍一下自己了解的内核内存分配策略,如有不对的地方欢迎师傅们指正. 二.前置知识 在Linux系统中通过分段与分页机制将物理内存划分成4kb大小的内存页,而涉及到内存分配不可避免的就会产生外部碎片与内部碎片问题,这个在物理页中也是一样的,为了避免这种情况内核管理物理页采用了两个策略:buddy system与slub算法. 伙伴…
[root@jiangyi01.sqa.zmf /home/ahao.mah] #grep . /proc/sys/net/ipv4/neigh/default/gc_thresh* /proc/sys/net/ipv4/neigh/default/gc_thresh1:512 /proc/sys/net/ipv4/neigh/default/gc_thresh2:4096 /proc/sys/net/ipv4/neigh/default/gc_thresh3:8192 解决方法: echo 1…
原因是没即时释放对象,原本的代码是这样 static jobject getMaps(JNIEnv *env,jclass obj) { jclass stringbuilder_class = (*env)->FindClass(env,"java/lang/StringBuilder"); jmethodID init_stringbuilder_Method = (*env)->GetMethodID(env,stringbuilder_class,"<…
在了解 TCP 的基本机制后本文继续介绍 Linux 内核提供的链接队列.TW_REUSE.SO_REUSEPORT.SYN_COOKIES 等机制以优化生产环境中遇到的性能问题. 连接队列 Linux 内核会维护两个队列: 半连接队列: syn_backlog, 服务端收到了 SYN 但未回复的连接, 队列的大小通过 net.ipv4.tcp_max_syn_backlog 指定 全连接队列: accept_backlog, 三次握手完成但未调用 accept 的连接, 队列的大小为 min(…
参考了很多东西,但有些理解可能会有错误的地方,希望看到错误的地方可以即使纠正. 参考的内容. http://netsecurity.51cto.com/art/200608/30428.htm http://blog.csdn.net/shootyou/article/details/6615051 http://blog.csdn.net/shootyou/article/details/6622226 http://rhomobi.com/topics/47 http://rdc.taoba…
本文总结了常见的 Linux 内核参数及相关问题.修改内核参数前,您需要: 从实际需要出发,最好有相关数据的支撑,不建议随意调整内核参数. 了解参数的具体作用,且注意同类型或版本环境的内核参数可能有所不同. 备份 ECS 实例中的重要数据.参阅文档创建快照. 查看和修改 Linux 实例内核参数 方法一.通过 /proc/sys/ 目录 查看内核参数:使用 cat 查看对应文件的内容,例如执行命令 cat /proc/sys/net/ipv4/tcp_tw_recycle 查看 net.ipv4…
[net] ######################## cat /proc/sys/net/ipv4/tcp_syncookies # 默认值:1 # 作用:是否打开SYN Cookie功能,该功能可以防止部分SYN攻击 net.ipv4.tcp_syncookies = 1   ######################## cat /proc/sys/net/ipv4/ip_local_port_range # 默认值:32768   61000 # 作用:可用端口的范围 net.i…
近日平稳运行了将近4年的发号器突然出现问题,在元旦0分的时候出现短暂的性能下降,导致发号失败率飙高到一个不可接收的值,哎,意外总是发生在你想不到的地方. 这几天赶紧和小伙伴们赶紧追查原因,制定改造方案,下面记录一下分析和定位问题的过程,以便后期查阅,并不在同一个地方跌倒两次. 一.分析过程 1.现象 现象是业务所用的uuid服务的6052端口出现性能下降,导致成功率下降. 2.日志 出问题第一反应就是去看日志,我们HAProxy的日志级别是notice,具体的报错如下 Jan  1 00:00:…
[net] ######################## cat /proc/sys/net/ipv4/tcp_syncookies # 默认值: # 作用:是否打开SYN Cookie功能,该功能可以防止部分SYN攻击 net.ipv4.tcp_syncookies = ######################## cat /proc/sys/net/ipv4/ip_local_port_range # 默认值: # 作用:可用端口的范围 net.ipv4.ip_local_port_…
一.系统相关 1.系统关键文件设置 1.1.设置文件初始权限 设置默认的umask值,增强安全性. [root@localhost ~]# umask 0022 /etc/profile最下面添加一行: [root@localhost ~]# vim /etc/profile umask 027 上面的设置,即新创建的文件属主拥有读写执行权限,同组用户拥有读和执行权限,其他用户无权限. 1.2.锁定关键文件 用chattr命令防止系统中的一些关键文件被修改 +i表示文件不允许新增.删除.修改.改…
首先说下 先看 按照ab 每秒请求的结果 看看 都有每秒能请求几个 如果并发量超出你请求的个数 会这样 所以一般图片和代码服务器最好分开 还有看看io瓶ding 和有没有延迟的PHP代码执行 0 先修改内核参数 <pre>1.调整同时打开文件数量 ulimit -n 204802.TCP最大连接数(somaxconn) echo 10000 > /proc/sys/net/core/somaxconn3.TCP连接立即回收.回用(recycle.reuse) echo 1 > /p…
目  录 1. Linux入门篇.............................................................................................................. 3 1. 1 Linux操作系统简介......................................................................................... 3 1. 2 Linux发展趋…
文章转载自:https://help.aliyun.com/knowledge_detail/41334.html 本文主要介绍如下几点内容,您可以根据实际需要选择. 查看和修改Linux实例内核参数 Linux网络相关内核参数引发的常见问题及处理 文档涉及的Linux内核参数说明 查看和修改Linux实例内核参数 在修改内核参数前,需要注意以下几点. 从实际需求出发,尽量有相关数据的支撑,不建议随意调整内核参数. 了解参数的具体作用,需注意同类型或版本的环境中,内核参数可能有所不同. 备份EC…
TIME WAIT 带来的问题 先引用一个名言: The TIME_WAIT state is our friend and is there to help us (i.e., to let old duplicate segments expire in the network). Instead of trying to avoid the state, we should understand it. 据说这话的是 W. Richard Stevens 说的.也就是说 TIME WAIT…
转载:http://huoding.com/2013/12/31/316  http://blog.csdn.net/lxnkobe/article/details/7525317  http://kerry.blog.51cto.com/172631/105233/ 讨论前大家可以拿手头的服务器摸摸底,记住「ss」比「netstat」快: shell> ss -ant | awk ' NR>1 {++s[$1]} END {for(k in s) print k,s[k]} ' 如果你只是想…
后面整理相关信息 //后面整理相关信息 /* * This function implements the receiving procedure of RFC 793 for * all states except ESTABLISHED and TIME_WAIT. * It's called from both tcp_v4_rcv and tcp_v6_rcv and should be * address independent. */ int tcp_rcv_state_proces…
linux TIME_WAIT 相关参数: net.ipv4.tcp_tw_reuse = 表示开启重用.允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭 net.ipv4.tcp_tw_recycle = 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭 net.ipv4.tcp_fin_timeout = 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间(可改为30,一般来说FIN-WAI…
转自:http://my.oschina.net/chenzhuo/blog/150200?p=2#comments 根据系统内存64G估算单台tengine做反向代理最高支持72万连接.为了验证达到该连接数时系统稳定运行,进行压测,先验证nginx与client建立72万连接时性能(不转发). 关闭超线程,12核CPU对应12个nginx worker进程,每个进程worker_connections为60000,且关闭accept_mutex.前端LVS做FNAT模式转发,开synproxy…
tcp连接是网络编程中最基础的概念,基于不同的使用场景,我们一般区分为“长连接”和“短连接”,长短连接的优点和缺点这里就不详细展开了,有心的同学直接去google查询,本文主要关注如何解决tcp短连接的TIME_WAIT问题. 短连接最大的优点是方便,特别是脚本语言,由于执行完毕后脚本语言的进程就结束了,基本上都是用短连接.但短连接最大的缺点是将占用大量的系统资源,例如:本地端口.socket句柄.导致这个问题的原因其实很简单:tcp协议层并没有长短连接的概念,因此不管长连接还是短连接,连接建立…
# Kernel sysctl configuration file for Red Hat Linux## For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and# sysctl.conf(5) for more details. # Controls IP packet forwardingnet.ipv4.ip_forward = 0 # Controls source route verificationnet.…
# Kernel sysctl configuration file for Red Hat Linux## For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and# sysctl.conf(5) for more details. # Controls IP packet forwardingnet.ipv4.ip_forward = 1 # Controls source route verificationnet.…