封面:Pixiv 77080388
发现问题
在今天登录节点服务器的面板后,注意到服务器的内存占用率已经达到了73.4%。
尽管服务器仅有2C2G的配置,然而在其上除开面板仅安装了Nginx与PHP,出现如此高的占用绝对不正常。
排查问题
一开始认为是Nginx的锅,然鹅重启之后发现占用率仍未下降,说明与Nginx无关。
此时怀疑是内存泄漏,为了了解内存占用情况,便在终端输入了top
命令。
结果一看才发现,列表里几乎全都是python3,也就不是内存泄漏的问题了。
解决问题
此时目标就明确了,输入ps aux | grep python
,接着找到对应进程的PID并kill掉就好。
果不其然,在相关进程全部干掉之后占用率立刻降到了33.2%。
可能原因
在上图中可以发现,异常进程执行的命令几乎都是python3 ./script.py
,对应的脚本是在CID 9中给出的脚本。
该脚本在节点服务器与主服务器上皆有部署,然而仅有节点服务器出现了高内存占用的情况,考虑比较两者的差异。
# 主服务器
response = requests.get("https://webapi.lowiro.com/webapi/serve/static/bin/arcaea/apk").json()
# 节点服务器
response = requests.get("https://api.mioical.moe/arcaea/server/main").json()
其中节点服务器请求的是主服务器上的API,结合日志中时不时的API连接异常,便可以得出可能的结论:API超时。