【问题标题】:how to allow pm2 to use all of the available system memory如何让 pm2 使用所有可用的系统内存
【发布时间】:2020-11-14 01:25:49
【问题描述】:

我有多个用 Node 编写并在 pm2 上运行的微服务。每当这些微服务中的任何一个出现高流量时,即使系统有超过 10GB 的可用内存,内存也不会超过 800 MB。相反,系统变得缓慢。我只使用了以下命令,没有其他设置来启动服务。

pm2 start app.js --name='app_name'

我浏览了 pm2 的文档,但它只提到了使用 ma​​x-memory-restart 限制内存使用。有什么方法可以确保我的微服务使用所有可用的系统内存。

【问题讨论】:

    标签: node.js memory-management pm2


    【解决方案1】:

    只要这些微服务的流量很高,即使系统有超过 10GB 的可用内存,内存也不会超过 800 MB。相反,系统变慢了。

    您还需要查看 CPU 指标,而不仅仅是内存。更有可能的是,这些服务不会缺乏内存,而是会开始交换到磁盘,而只是在服务器的 CPU 上工作。

    分析您的服务也不会受到伤害,以发现在高负载期间发生的任何可能的瓶颈或停顿。

    有什么方法可以确保我的微服务使用所有可用的系统内存。

    是的,有:在这些服务中使用更多内存。除非您已配置,否则没有内在限制。

    【讨论】:

    • 我检查了CPU,它完全用完了。如果我使用集群模式,你认为可以处理这个问题吗?
    • 同一台动力不足的机器上的集群模式只会伤害事情。分析您的代码,找出瓶颈,修复它们——或者获得一个更强大的系统来运行您的代码。
    猜你喜欢
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    相关资源
    最近更新 更多