anyproxy占用内存问题
const AnyProxy = require('anyproxy');
const options = {
port: 8001,
webInterface: {
enable: false
},
throttle: 10000,
forceProxyHttps: true,
silent: true,
dangerouslyIgnoreUnauthorized: true
};
const proxyServer = new AnyProxy.ProxyServer(options);
proxyServer.start();
用法如上,在长时间使用后,anyproxy代理线程占用的内存越来越大。
查看堆快照,发现web版界面中的很多内容留在了堆里,并且无法被GC掉。
请问这个问题该怎么解决?###
6条答案
按热度按时间f5emj3cl1#
我也有同样的问题,尤其是跑了两三天之后,能直接撑爆小容量的整个硬盘
rta7y2nd2#
我也有同样的问题,尤其是跑了两三天之后,能直接撑爆小容量的整个硬盘
我的是内存问题,如果是持久化的文件太多的话,可以选择手动清除或者脚本定时清除,路径为:用户路径/.anyproxy/cache
vbkedwbf3#
@jiangyunjun 是的,目前AnyProxy会将部分文件缓存到cache目录而非内存,如果是长时间运行需要手动清理
@szdemen 手动清理适用于你的场景吗
kzipqqlq4#
@codingfishman 我遇到的应该是内存泄漏的问题,就算不去编写rule,5000个请求大概会使anyproxy进程的内存上升10M左右(经历GC后),长时间使用会造成代理进程内存越来越大。
neekobn85#
@jiangyunjun 内存的增长是由于request的recorder造成的,就算你使用file来保存request记录,内存还是会不停增长,因为nedb会在内存中保存index,所以要想完全解决内存增长的问题,只能修改代码把recorder禁止掉
juud5qan6#
@jiangyunjun 是的,目前AnyProxy会将部分文件缓存到cache目录而非内存,如果是长时间运行需要手动清理
@szdemen 手动清理适用于你的场景吗
anyproxy 在运行过程中直接清理cache目录会有什么影响吗?