Memory 在Linode 512 VPS上运行MongoDB的可行性?

Memory 在Linode 512 VPS上运行MongoDB的可行性?,memory,mongodb,linode,Memory,Mongodb,Linode,我已经阅读了MongoDB文档,它附带了一个关于32位系统的警告;特别是Mongo的可用内存上限为2GB 所以我想知道这句话对在低内存环境下运行MongoDB是否有意义,比如Linode的512mb基于RAM的VPS。我怀疑这有什么关系,但对于以后添加资源的64位发行版 是否有任何警告或有人会建议在MongoDB的VPS中至少选择一个RAM?我知道项目需求是其中的一部分,但我的意思是最低限度的,因为即使是将MongoDB旋转起来,没有它也会很可笑 我在一些小型生产站点上使用它,这些站点在我的Li

我已经阅读了MongoDB文档,它附带了一个关于32位系统的警告;特别是Mongo的可用内存上限为2GB

所以我想知道这句话对在低内存环境下运行MongoDB是否有意义,比如Linode的512mb基于RAM的VPS。我怀疑这有什么关系,但对于以后添加资源的64位发行版


是否有任何警告或有人会建议在MongoDB的VPS中至少选择一个RAM?我知道项目需求是其中的一部分,但我的意思是最低限度的,因为即使是将MongoDB旋转起来,没有它也会很可笑

我在一些小型生产站点上使用它,这些站点在我的Linode 512中运行&它几乎不使用任何内存,仅使用大约5-6MB的内存。我的数据集目前非常小

MongoDB使用映射内存存储引擎,这意味着它依赖OS系统缓存将频繁使用的数据保存在内存中

因此,除非您有一个庞大的数据集开始,否则Linode 512应该可以

在研究这一点时,我有点担心的一点是,MongoDB在内存不足时似乎会崩溃,没有太多的警告。另外,很难准确地确定它将使用多少内存或磁盘空间,这与您拥有的数据量成正比。也没有办法以性能降低为代价指定硬限制。这是你可能想要监控的东西

您可以尝试使用--smallfiles--noprealloc选项运行MongoDB,因为这样可以从较小的数据库文件开始,而不是预先分配它们,从而在数据集较小的情况下节省磁盘空间

以下是一位用户的体验:

不幸的是,该线程没有解决,如果他们有崩溃的原因,那就好了

这也是很好的阅读:


好的,谢谢你,克林基:)我会阅读这些链接,确保我对相关术语有透彻的理解。崩溃很可能是由系统杀手造成的。看一看,创建一个交换文件可能是一个好主意,Linode在SSD上运行,所以不会太慢。在高负载下有一点延迟总比完全崩溃MongoDB要好。确保调整vm.swappiness,这样除非绝对必要,否则您不会点击SSD。哇,他们的文档说“32位构建限制在2GB左右的数据。”而这里我认为“数据”是磁盘空间。那将是一场灾难。当时几乎完全抛弃了Mongo。我很高兴看到这个问题。