Answers:
查找当前正在使用的存储引擎的最简单方法。
内部mongo控制台类型
db.serverStatus().storageEngine
它返回当前正在使用的存储引擎
{ "name" : "wiredTiger" }
一旦确认使用wiredTiger,然后键入
db.serverStatus().wiredTiger
获取wiredTiger的所有配置详细信息。
免责声明:不是MongoDB专家
检查Linux中的进程列表
WIREDTIGER_CONFIGURED=`ps -ef|grep mongod|grep -i storageengine|grep -ic wiredtiger`
echo ${WIREDTIGER_CONFIGURED}
1表示在那里
来自mongo shell
db.serverStatus()
你应该看到这样的东西
"wiredTiger" : {
...
"cache" : {
"tracked dirty bytes in the cache" : <num>,
"bytes currently in the cache" : <num>,
"maximum bytes configured" : <num>,
"bytes read into cache" :<num>,
或者您可以使用以下命令拉出存储引擎名称
db.serverStatus().storageEngine.name
您将得到mmapv1
或wiredTiger
或从命令行
MONGO_ENGINE=`mongo -u... -p... --eval "db.serverStatus().storageEngine.name"`
db.serverStatus().storageEngine.name
。它会说mmapv1
还是wiredTiger
。
--storageEngine
参数只能在有限的情况下,在参数明确提供的命令行上如MongoDB的3.0。通常,mongod
配置值是在配置文件中提供的,因此它们不会出现在ps
输出中。在MongoDB 3.2+中,WiredTiger是默认的存储引擎,因此不需要其他参数。推荐的使用方法是db.serverStatus().storageEngine.name
通过mongo
外壳的第二个建议。仅供参考,如果您恰巧使用的是MongoDB 2.6或更旧的版本,则将无法使用:唯一的存储引擎是MMAP。
该mongod.log
文件由描述您正在使用的存储引擎的字符串填充。
这样您就可以运行:
cat /var/log/mongodb/mongod.log | grep STORAGE | tail -n 1
返回如下内容:
2017-06-28T21:45:24.745+0200 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=4G,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),