node Koa 框架 socket 泄露

2019-08-21 17:06:51 +08:00
 sakamoto123

线上用的是 KOA 框架,但是最进发现有内存泄露的问题。

利用 losf -p 1441 // 1441 node 的进程 有大量如下的 无效 TCP 连接

node    1441 root  633u     sock                0,7      0t0 1303582007 protocol: TCP
node    1441 root  634u     sock                0,7      0t0 1304269214 protocol: TCP
node    1441 root  635u     sock                0,7      0t0 1303710205 protocol: TCP
node    1441 root  636u     sock                0,7      0t0 1303582123 protocol: TCP
node    1441 root  637u     sock                0,7      0t0 1303775234 protocol: TCP
node    1441 root  638u     sock                0,7      0t0 1303610276 protocol: TCP
node    1441 root  639u     sock                0,7      0t0 1303611228 protocol: TCP
node    1441 root  640u     sock                0,7      0t0 1304141344 protocol: TCP
node    1441 root  641u     sock                0,7      0t0 1303660211 protocol: TCP
node    1441 root  642u     sock                0,7      0t0 1303661306 protocol: TCP
node    1441 root  643u     sock                0,7      0t0 1303661321 protocol: TCP
node    1441 root  644u     sock                0,7      0t0 1304409789 protocol: TCP
node    1441 root  645u     sock                0,7      0t0 1303661359 protocol: TCP
node    1441 root  646u     sock                0,7      0t0 1303560180 protocol: TCP

netstat -an | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}' // 该命令显示的连接情况是正常的

LAST_ACK 73
LISTEN 8
SYN_RECV 11
CLOSE_WAIT 8
ESTABLISHED 121
FIN_WAIT2 16
TIME_WAIT 73

但是利用 ss -s 命令 有大量 closed 的连接 跟 losf 命令显示的数量级大概是一致的

Total: 1079 (kernel 1102)
TCP:   1061 (estab 121, closed 851, orphaned 74, synrecv 0, timewait 57/0), ports 0

Transport Total     IP        IPv6
1102      -         -
RAW	  0         0         0
UDP	  3         2         1
TCP	  210       37        173
INET	  213       39        174
FRAG	  0         0         0

有没有大佬知道什么原因?

4613 次点击
所在节点    Node.js
1 条回复
IamUNICODE
2019-08-21 17:08:48 +08:00
上代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/593923

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX