-1

有没有一种方法可以计算在给定时间在单个 ubuntu 服务器上运行了多少个“mongod”实例。

4

2 回答 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 回答