查看所有参数:
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