ohfiner 苏州油快佳信息科技有限公司 CTO/CIO/技术总监  2017年08月20日
lsof 问题
使用lsof查看java 进程(web 服务器)打开的文件数,发现好多ESTABLISHED的TCP连接不释放,而且SIZE为0t0,并且数量越来越多,怎么去定位这个问题呢?

以下是我分析过程:


ps -ef | grep java //查看java进程id
lsof -n | grep 27343 -c// 查看java打开的句柄数量
lsof -p 27343 // 查看详细打开的句柄

[root@iZ2572449s4Z ~]# lsof -n | grep 27343 -c
2136

然后每隔2-3个小时执行lsof -n | grep 27343 -c,发现数量一直在增长:

2017-08-10 12:38:37 ——> 2136
2017-08-10 14:38:37 ——> 3489
2017-08-10 18:38:37 ——> 3691
2017-08-10 18:51:37 ——> 3752
2017-08-10 20:47:37 ——> 4229
2017-08-10 22:12:37 ——> 4508
2017-08-11 18:25:37 ——> 7899
2017-08-12 11:20:00 ——> 10465


类似这样的:


这之前我已经把系统默认的连接数1024改成了65535:

[root@iZ2572449s4Z ~]# ulimit -n
65535


然后大概5-6天时间,lsof -n | grep 27343 -c的数量就达到65535上限,web服务器由于不能打开新的TCP连接就无法提供客户端访问页面,页面就是个空白页并且一直在加载中这样。就只能把web服务器(java进程)重启,所有连接强制释放后,维持5-6天连接数又达到65535上限。

为了分析这些连接的IP地址,我特地统计了一下,有很多是同一个IP,并且90%的IP都不是我客户所在地区的IP地址(我有点怀疑是恶意攻击,但是我也不是很确定)。现在不知道怎么继续往下定位问题了,任何建议和提示都将十分感谢,谢谢各位。
前面是连接的个数,后面是连接的IP地址。

3, 122.192.13.192
58, 101.226.102.139
3, 122.192.12.64
3, 49.92.118.42
3, 122.192.12.62
3, 49.92.118.46
43, 101.226.102.140
55, 101.226.102.141
3, 49.92.103.66
2, 101.90.127.161
2, 122.192.14.28
6, 122.192.13.185
2, 122.192.12.252
3, 122.192.12.254
3, 122.192.12.71
4, 112.86.84.247
2, 122.192.13.176
3, 49.92.194.115
3, 122.192.13.177
6, 122.192.13.178
2, 222.93.49.223
2, 58.219.202.6
5, 122.192.14.39
1, 112.117.86.36
3, 36.23.51.152
3, 122.192.14.43
2, 122.192.14.44
3, 122.192.14.48
2, 114.216.124.122
3, 49.92.76.195
3, 122.192.12.43
3, 122.192.14.40
2, 122.192.12.41
2, 49.92.151.212
2, 183.208.193.73
2, 122.192.12.48
3, 49.95.215.178
21, 140.207.54.187
3, 122.192.15.184
2, 49.92.193.90
18, 140.207.54.180
3, 117.136.66.81
1, 180.107.192.164
3, 49.92.178.157
4, 49.92.169.213
2, 122.192.15.178
18, 140.207.54.199
20, 140.207.54.198
3, 122.192.15.173
15, 140.207.54.197
2, 180.103.244.86
3, 58.211.125.50
3, 117.136.68.19
8, 49.64.44.223
2, 223.64.78.51
14, 117.136.68.18
1, 121.228.76.116
7, 117.136.68.17
2, 121.224.51.191
3, 49.95.190.19
3, 117.136.68.21
2, 113.57.244.212
1, 49.85.219.2
9, 117.136.68.22
9, 117.136.68.20
3, 117.136.68.25
4, 49.84.204.122
2, 117.136.68.26
5, 117.136.68.23
7, 117.136.68.24
3, 117.136.66.63
1, 121.228.41.98
3, 122.192.14.209
3, 49.95.184.139
2, 180.107.142.53
1, 49.92.164.175
3, 49.95.167.117
3, 112.96.170.212
10, 117.136.68.10
8, 117.136.68.11


我用的web服务器为play 1.2.5,没有Apache、Nginx。
...全文
356 点赞 收藏 6
写回复
6 条回复

还没有回复,快来抢沙发~

发动态
发帖子
系统维护与使用区
创建于2007-08-27

5680

社区成员

7.4w+

社区内容

系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区公告
暂无公告