V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sakamoto123
V2EX  ›  Node.js

node Koa 框架 socket 泄露

  •  
  •   sakamoto123 · 2019-08-21 17:06:51 +08:00 · 4720 次点击
    这是一个创建于 1925 天前的主题,其中的信息可能已经有所发展或是发生改变。

    线上用的是 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
    

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

    1 条回复    2019-08-21 17:08:48 +08:00
    IamUNICODE
        1
    IamUNICODE  
       2019-08-21 17:08:48 +08:00
    上代码
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5589 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:44 · PVG 14:44 · LAX 22:44 · JFK 01:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.