有没有一种方法可以计算在给定时间在单个 ubuntu 服务器上运行了多少个“mongod”实例。
问问题
285 次
2 回答
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
所以你可以遵循 Sergio 的解决方案。如果您想排除配置服务器元素(因为它也是一个 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 实例的更多信息。
于 2012-07-25T08:08:40.473 回答
1
你总是可以使用一些 unix-fu。
ps aux | grep mongod | grep -v grep | wc -l
grep -v grep
部分是排除 grep 自匹配。如果有人知道更好的解决方案,请改进。
于 2012-07-25T06:26:06.943 回答