当前位置: 移动技术网 > IT编程>开发语言>.net > 解决Hangfire 导致服务器内存飙涨

解决Hangfire 导致服务器内存飙涨

2019年10月19日  | 移动技术网IT编程  | 我要评论

最近因为项目需要调度作业服务,之前看张队推荐过一篇

故直接拿过来实操,发现很好用,简单、方便  执行周期webapi任务,nice

发布到生产环境,顺便看看服务器资源情况,我艹,内存,每s涨1m,涨到500m,关闭host服务,惹不起,什么原因???

1、本地调试、发布运行,内存正常

2、部署到本地测试服务器(win2016 core 2.2.7) 内存正常

3、发给我朋友的电脑测试  内存正常 稳定在130m左右

通过qq联系到原作者,让我dump给他分析,看看是不是内存泄露

 

 无内存泄露!

 

注释掉nlog、他的hangfire.httpjob 组件,再次发布,内存仍然异常。

 

难道是服务器core 版本问题,安装最新2.2.7, 我靠,要重启服务器,生产服务器,放弃!

 

最后 作者提醒我,是可能没gc到的原因。

 

故搜到两篇文章:

 

忽然想到服务器是2个cpu,40逻辑处理器,果断修改配置:

 

 

再次启动,一个健康检查api作业(直接return ok),每15s执行一次,内存保持在35m左右:

 

 

 问题阶段性的解决了。

 

疑惑:

1、同一服务器上的另一个.net core api  内存不涨(间隔5s被请求一次)

2、猜想是服务器os  win2012r2   太古老的原因

 

遗留问题:

本地测试 /job-read能正常访问, 部署到服务器外网无法访问,服务器本机能访问  难道job与 job-read 走不通的端口?被防火墙掉呢?

本人对hangfire不熟悉,望哪位仁兄知道告知我一下,谢谢!

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网