MongoDB KillOp() 没有杀死操作。我该怎么办?

Nat*_*ley 5 mongodb

> db.currentOp().inprog.length
11587
Run Code Online (Sandbox Code Playgroud)

几分钟后,计数还是一样。我制作了一个小脚本来循环遍历killOp()来自有问题的客户端的所有操作,但是当它完成时,所有操作仍在运行。

然后我尝试了一个killOp()并检查了操作数,结果是一样的。我尝试杀死 10 个操作,然后检查操作计数,但它仍然没有改变。

大多数查询都在同一个表上,该表包含超过 2000 万个文档。生成所有查询的客户端已终止,但我无法调用以查看getIndexes()表上是否存在索引错误配置,因为该调用仅在操作队列的末尾进行并且永远不会返回。

我们在单个 Linux 服务器上运行 MongoDB。此时还没有复制。

我应该怎么办?

Nat*_*Nat 2

你知道那是哪个op吗?检查 mongod log 是否有动或者有错误信息。如果你没有看到任何进展,我建议你重新启动mongod(不要kill -9,正常kill应该可以)。