linux下限制mongodb内存,MongoDB 4.2 限制内存

编程入门 行业动态 更新时间:2024-10-11 11:14:09

linux下限制mongodb<a href=https://www.elefans.com/category/jswz/34/1771154.html style=内存,MongoDB 4.2 限制内存"/>

linux下限制mongodb内存,MongoDB 4.2 限制内存

先说结论

本文适配 MongoDB 4.2.1

不能通过 MongoDB 的配置文件严格限制 MongoDB 占用的内存

将 storage.wiredTiger.engineConfig.cacheSizeGB 配置为期望占用最大内存的 60% 左右即可

查看 MongoDB 内存使用情况

mem

> db.serverStatus().mem

{

"bits": 64, // 操作系统位数

"resident": 15542, // 常驻内存/物理内存(MB)

"virtual": 16760, // 虚拟内存

"supported": true // 为 true 表示支持显示额外的内存信息

}

tcmalloc

> db.serverStatus().tcmalloc.tcmalloc.formattedString

------------------------------------------------

MALLOC: 13431957064 (12809.7 MiB) Bytes in use by application

MALLOC: + 1582014464 ( 1508.7 MiB) Bytes in page heap freelist

MALLOC: + 1060879520 ( 1011.7 MiB) Bytes in central cache freelist

MALLOC: + 2996608 ( 2.9 MiB) Bytes in transfer cache freelist

MALLOC: + 7394200 ( 7.1 MiB) Bytes in thread cache freelists

MALLOC: + 74448896 ( 71.0 MiB) Bytes in malloc metadata

MALLOC: ------------

MALLOC: = 16159690752 (15411.1 MiB) Actual memory used (physical + swap)

MALLOC: + 5287936 ( 5.0 MiB) Bytes released to OS (aka unmapped)

MALLOC: ------------

MALLOC: = 16164978688 (15416.1 MiB) Virtual address space used

MALLOC:

MALLOC: 608155 Spans in use

MALLOC: 21 Thread heaps in use

MALLOC: 4096 Tcmalloc page size

------------------------------------------------

Call ReleaseFreeMemory() to release freelist memory to the OS (via madvise()).

Bytes released to the OS take up virtual address space but no physical memory.

红框所示即为大致物理内存消耗

从 MongoDB 3.4 开始, 这个参数默认值为下面二者中更大的一个:

(RAM - 1 GB)/2

256 MB

Windows

walker 在 Windows Server 2012 R2 上将 mongod.cfg 中 storage.wiredTiger.engineConfig.cacheSizeGB 设置为 32 之后,在任务管理器中发现,MongoDB Server 占用的内存还是达到了 45 GB,相关配置如下:

storage:

dbPath: E:\MongoDB\Server\4.2\data

journal:

enabled: true

engine: wiredTiger

wiredTiger:

engineConfig:

cacheSizeGB: 32

于是想从系统配置上对 MongoDB 进行内存限制。

WSRM

WSRM

Windows System Resource Manager

Windows 系统资源管理器

在 Windows Server 2008 中可以用 WSRM 限制 MongoDB 内存,从 Windows Server 2012 开始,WSRM 被弃用,类似功能由 Hyper-V 提供。

Linux

更多推荐

linux下限制mongodb内存,MongoDB 4.2 限制内存

本文发布于:2024-03-04 07:23:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1708612.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:内存   mongodb   linux   MongoDB

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!