有没有办法可以计算出在给定时间内在单个ubuntu服务器上运行了多少'mongod'实例。
答案 0 :(得分:4)
在Ubuntu上,正在运行的ps
进程的mongod
输出看起来像这样 -
mongodb 2210 3.3 1.5 259012 15300 pts / 0 Dl 11:48 0:00 mongod --dbpath / var / tmp / mongotest --logpath / var / tmp / mongotest_log --port 3001
所以你可以按照塞尔吉奥的解决方案。如果你想排除配置服务器元素(因为它也是一个mongod进程,请参阅我的评论)
另一种检查方式是运行 -
ls /etc/mongodb*conf | wc -l
因为每个mongod实例应该(如果按照建议安装)在etc
下的自己的配置文件,例如/etc/mongodb.conf,/etc/mongodb1.conf,/etc/mongodb2.conf等。
每个mongod实例都有自己的logpath和datapath,你应该在etc
下的相关配置文件中找到它。例如 -
# mongodb1.conf
dbpath=/var/lib/mongodb1
#where to log
logpath=/var/log/mongodb/mongodb1.log
port = 30001
所以上一个命令也适用。
ls /var/lib/mongodb* | wc -l
ls /var/log/mongodb/mongodb*log | wc -l
您可能对dba.stackexchange.com上的答案感兴趣,以获取有关如何使用Upstart在Ubuntu上运行多个mongodb实例的更多信息。
答案 1 :(得分:1)
你总是可以使用一些unix-fu。
ps aux | grep mongod | grep -v grep | wc -l
grep -v grep
部分是排除grep自我匹配。如果有人知道更好的解决方案,请改进。