当前位置: 首页 > 知识库问答 >
问题:

内存消耗高于wiredtigercachesizeg中设置的值

董凡
2023-03-14

你好,专家们

我有一个mongodb服务器在我的2GB ec2实例上运行,使用以下命令

mongod-WiredTigerCacheSizeGb=0.5

下面是我的内存使用情况:

------------------------------------------------
MALLOC:      509658616 (  486.0 MiB) Bytes in use by application
MALLOC: +    100265984 (   95.6 MiB) Bytes in page heap freelist
MALLOC: +     10784344 (   10.3 MiB) Bytes in central cache freelist
MALLOC: +      8235328 (    7.9 MiB) Bytes in transfer cache freelist
MALLOC: +      3289712 (    3.1 MiB) Bytes in thread cache freelists
MALLOC: +      4063232 (    3.9 MiB) Bytes in malloc metadata
MALLOC:   ------------
MALLOC: =    636297216 (  606.8 MiB) Actual memory used (physical + swap)
MALLOC: +       385024 (    0.4 MiB) Bytes released to OS (aka unmapped)
MALLOC:   ------------
MALLOC: =    636682240 (  607.2 MiB) Virtual address space used
MALLOC:
MALLOC:          23555              Spans in use
MALLOC:             26              Thread heaps in use
MALLOC:           4096              Tcmalloc page size
------------------------------------------------

根据我的理解,使用的虚拟地址空间是MongoDB占用的总内存。如果有人能告诉我为什么它会超过0.5(500MB)的限制

----------------More  Info--------------------
{
    "name" : "wiredTiger",
    "supportsCommittedReads" : true,
    "oldestRequiredTimestampForCrashRecovery" : Timestamp(0, 0),
    "supportsPendingDrops" : true,
    "dropPendingIdents" : NumberLong(0),
    "supportsSnapshotReadConcern" : true,
    "readOnly" : false,
    "persistent" : true,
    "backupCursorOpen" : false
}

{
    "db" : "Database",
    "collections" : 43,
    "views" : 0,
    "objects" : 2780441,
    "avgObjSize" : 2756.87204116182,
    "dataSize" : 7665320055.0,
    "storageSize" : 2320449536.0,
    "numExtents" : 0,
    "indexes" : 58,
    "indexSize" : 156573696.0,
    "scaleFactor" : 1.0,
    "fsUsedSize" : 77780537344.0,
    "fsTotalSize" : 214746263552.0,
    "ok" : 1.0
}

内存消耗高于wiredtigercachesizeg中的设置值

共有1个答案

郜琦
2023-03-14

Wired tiger是MongoDB的一个组件。还有很多其他的组件。预计整个服务器的内存使用量将大于对服务器的一个组件的一个方面施加的限制。

 类似资料:
  • 我听说chrome已经为“img”元素实现了本机延迟加载,firefox也将很快跟进。 我找到的解释告诉我们,当您向img元素添加一个属性load=“lazy”时,它只会在浏览器认为它“靠近”视口时请求src url,“close”的定义取决于实际可用带宽。 我的问题实际上是关于内存消耗。在实际加载了延迟加载的图像,并且图像离视口足够远之后,浏览器是否会释放内存,在必要时再次延迟加载(可能是从磁盘

  • 问题内容: 我需要监视应用程序产生的线程消耗的内存量。如果贪婪的线程消耗太多内存,则想法是采取纠正措施。我已提到Java线程占用多少内存?。关于该链接的建议之一是在我尝试以下工作时使用。 我在四个线程上运行了很长时间。尽管作业不会连续地累积内存,但是所返回的值会不断增加,甚至不会下降。这意味着不会返回线程使用的堆上的实际内存量。它返回自线程启动以来在堆上为线程分配的内存总量。我的平台详细信息如下:

  • 我需要监控应用程序生成的线程所消耗的内存量。如果贪婪的线程占用了太多内存,那么我们可以采取纠正措施。我提到了我的java线程需要多少内存?。关于该链接的建议之一是在ThreadMXBean中使用getThreadAllocatedBytes 我用以下作业试验了getThreadAllocatedBytes。 我在四个线程上运行了相当长的时间。虽然作业不会连续累积内存,但getThreadAlloc

  • 不是内存泄漏或类似的问题,因为第一次连接后内存使用量不会增加,所以优化可能是加载更少的模块或做一些不同的事情...

  • 我有一个springboot REST服务,它每分钟将文件从文件夹移到zip归档,并将归档上传到另一个服务。我的服务使用Cache2K和Hsql数据库保存压缩文件和压缩名称的映射。另一个应用程序使用service注册创建的文件,然后询问文件所在的zip的名称。 服务在Windows Server 2019标准32GB RAM上运行,启动参数为

  • 我正在尝试使用Cooja模拟器模拟无线传感器网络。我想观察RPL协议在Contiki-OS中消耗的内存量。我使用sky-mote进行模拟,并创建了一个包含许多它们的网络。有没有什么方法可以观察RPL协议为保留邻居和路由表而消耗的内存量?