我正在使用Passenger 和Nginx 运行Redmine 实例。由于数据库中只有少数问题,Redmine 消耗了超过 80mb 的 RAM。
任何人都可以分享减少Redmine内存使用的技巧。Redmine实例被3个人使用,我愿意牺牲速度。
我正在使用Passenger 和Nginx 运行Redmine 实例。由于数据库中只有少数问题,Redmine 消耗了超过 80mb 的 RAM。
任何人都可以分享减少Redmine内存使用的技巧。Redmine实例被3个人使用,我愿意牺牲速度。
没有真正低垂的果实。如果有的话,我们已经默认包含并激活了它们。
80 MB RSS(相对于可能更大的虚拟大小)实际上相当不错。在正常操作中,每个进程将使用 70 到 120 MB 的 RSS(取决于部署模型,乘客很少)。
正如 andrea 所建议的,当您使用 REE(Ruby 企业版,也是免费的)时,您可以将整体内存占用减少大约三分之一。但是这种节省只有在您运行多个进程(每个进程都需要上述内存)时才能实现。REE 通过针对一种称为 Copy on Write 的技术优化 Ruby 来实现这种节省,从而使额外的应用程序进程占用更少的内存。
所以很抱歉,您的(假设的)128 MB vServer 可能不够用。对于小型安装,您可能可以将最小安装压缩到 256MB,但在 512MB(包括数据库)时,它只是开始变得非常痛苦。
这是因为 Rails 应用程序的工作方式与 PHP 相比。它们需要一个正在运行的应用程序服务器实例。该实例通常能够一次响应一个请求,始终使用大约相同数量的内存。所以你的内存消耗大致相当于你运行的应用程序进程的数量,与实际负载无关。但是如果你适当地调整你的系统,你可以从一个进程中获得相当多的请求/秒。
可能是我回复得很晚,但我遇到了同样的问题,我找到了一个优化 ruby/rails 内存使用的链接,这对我有用
它可能对其他人有帮助。