内存问题
内存问题或内存不足错误
内存问题是一个常见但常常被误解的问题。为了有效地解决它们,您可能需要对您的应用进行性能分析,并迭代改进代码以提高内存使用效率。
内存问题通常会在您的日志中体现。检查您的日志以获取有关问题根源的线索。
如果您看到日志消息容器已耗尽内存。将启动一个新的容器来替换它,这意味着运行您的应用程序的容器尝试获取超出分配给它的内存。处于此状态的容器会自动终止。
如果您继续按原样运行您的应用,防止它崩溃的唯一方法是分配具有足够内存的资源。可行的解决方案可能包括更多容器、更大的容器或两者兼而有之。
您可以在应用的容器视图中查看内存使用情况。如果您看到内存使用率飙升至 90% 或更高,这几乎肯定是一个需要您进行故障排除的问题。
即使您的指标从未达到此水平,您的应用也可能正在遇到内存问题,如果您的容器在我们的指标能够记录内存增加之前就耗尽内存并崩溃。
您可以升级到 Galaxy Professional 并使用Meteor APM来更精确地了解您的应用随时间的内存使用情况,以及其他一些功能。使用 Meteor APM,可以对您的应用的内存使用情况进行分析,时间段可以短至 1 小时,长达 30 天。
您还可以使用 npm 模块来分析您的内存使用情况并查明不稳定的内存使用情况。 heapdump npm 模块就是这样一个模块,不过您需要将它创建的文件传输到 S3 等位置才能下载并仔细检查。另一个这样的模块是memwatch-next。虽然 Galaxy 不正式支持特定的第三方模块,但社区发现使用此类模块很有帮助。
短期内,您可能需要扩展。在重构您的应用以消耗更少的内存之后,您始终可以缩减规模。
更新日期:2024/07/15
谢谢!