我们运行一个小型NodeJS应用程序来管理我们的移动应用程序的订阅。它的后端是一个只有100 It内存的MongoDB。目前,数据大小约为120 is。所有这些都托管在一个名为Nodechef的PaaS上。
在运行了大约一周之后,Mongo服务器的内存使用量达到了98 in /100 in。不知道会发生什么,我们强制重新启动,它下降到70 so左右。它慢慢地爬回来了。
几个问题:
发布于 2020-04-18 00:34:22
根据这,您可以尝试设置hostInfo.system.memLimitMB,但我感到惊讶的是,MongoDB运行100 MB可用内存(如果这是准确的话)。
如果MongoDB进程内存不足(即请求内存分配被拒绝),则很可能立即终止。
发布于 2020-04-22 13:23:45
这是一个Nodechef的具体答案,基于他们如何处理这个问题。其他PaaS可能以不同的方式处理:
“当它达到125%,包括交换,它将自动重新启动自己。它做一个优雅的关闭,所以不应该有任何问题。”
至于这是否正常,取决于,我已经看到了一些情况,应用程序没有正确关闭游标,导致数据库服务器上的游标泄漏,导致内存不断增加。另一个问题可能是服务器本身的内存碎片。只要重新启动不是每小时进行一次,你就会非常好。要花上几周时间才能达到顶峰,这是可以的。“
https://stackoverflow.com/questions/61275127
复制相似问题