MongoDB 参数查看与修改

查看所有参数:
db.adminCommand( { getParameter : "*" } )


查看某个具体参数:
db.adminCommand( { getParameter:1,  syncdelay:1 } )


使用 setParameter命令修改参数:
db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )


在mongod和mongos的命令行选项中指定—setParameter
mongod --setParameter <parameter>=<value>
mongos --setParameter <parameter>=<value>



MongoDB 的参数也是分动态和静态的。
1.动态参数可以在线修改。
2.静态参数只能是修改到配置文件,重启生效。
3.针对动态参数的修改,在下次重启后会失效。所以在修改动态参数时,除了修改实例,也需要修改配置文件。

比如connPoolMaxShardedInUseConnsPerHost 参数:

> db.adminCommand( { getParameter:1,  connPoolMaxShardedInUseConnsPerHost:1 } )
{ "connPoolMaxShardedInUseConnsPerHost" : 2147483647, "ok" : 1 }
> db.adminCommand( { setParameter: 1, connPoolMaxShardedInUseConnsPerHost: 10 } )
{
        "ok" : 0,
        "errmsg" : "not allowed to change [connPoolMaxShardedInUseConnsPerHost] at runtime"
}
> db.adminCommand( { getParameter:1,  connPoolMaxShardedInUseConnsPerHost:1 } )
{ "connPoolMaxShardedInUseConnsPerHost" : 2147483647, "ok" : 1 }
>

在线修改时会直接提示:
"not allowed to change [connPoolMaxShardedInUseConnsPerHost] at runtime"


只有通过修改方式来辨别:

动态参数:文档会提供两种修改方法:
db.adminCommand( { setParameter: 1, tcmallocReleaseRate: 5.0 } )
mongod --setParameter "tcmallocReleaseRate=5.0"

静态参数:文档只会提供一种修改方法:
mongos --setParameter connPoolMaxShardedInUseConnsPerHost=100

 

posted @ 2025-06-17 01:11  屠魔的少年  阅读(47)  评论(0)    收藏  举报