该怎么定位Python应用僵死的原因

有一个Python应用 提供了一些Api接口 如情感 分词等 但是偶尔发现应用不可用 即应用进程存在 但是调用Api接口却返回

curl: (56) Recv failure: Connection reset by peer

netstat 查看应用端口得到如下信息

netstat -aultnp | grep 8000
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        6      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      9712/python
tcp        0      0 172.16.XXX.XX:8000      172.16.XXX.XX:33652     SYN_RECV    -
tcp        0      0 172.16.XXX.XX:8000      118.31.xx.xxx:51470     SYN_RECV    -
tcp        0   1125 172.16.XXX.XX:33652     172.16.XXX.XX:8000      ESTABLISHED 7048/java
tcp       19      0 172.16.XXX.XX:8000      39.104.xx.xxx:40968     CLOSE_WAIT  -
tcp        5      0 172.16.XXX.XX:8000      39.104.xx.xxx:39672     CLOSE_WAIT  -
tcp       13      0 172.16.XXX.XX:8000      39.104.xx.xxx:41628     CLOSE_WAIT  -
tcp        0      0 172.16.XXX.XX:8000      39.104.xx.xxx:39500     ESTABLISHED 9712/python
tcp        0      0 172.16.XXX.XX:55160     182.92.xx.xx:8000       ESTABLISHED 16173/staragent-cor
tcp       54      0 172.16.XXX.XX:8000      39.104.xx.xxx:42286     CLOSE_WAIT  -
tcp       14      0 172.16.XXX.XX:8000      39.104.xx.xxx:43734     CLOSE_WAIT  -
tcp       42      0 172.16.XXX.XX:8000      39.104.xx.xxx:43036     CLOSE_WAIT  -

重启该应用 问题就解决了 感觉似乎是什么资源耗尽导致 但是不确定是什么资源
不知道遇到Python进程僵死该怎么定位问题原因 如果是Java进程的话 可以通过JVM提供的一些工具分析问题原因 如jstack

阅读 2.9k
1 个回答
推荐问题
宣传栏