currentOp (実行中の操作)

最終更新:2026-10-09

currentOp (実行中の操作)

currentOp は現在実行中の操作を一覧表示し、低速クエリや長時間実行(ブロックされた書き込み、開いたトランザクション)の診断に使います。各エントリは opid、client、ns、secs_running、command を公開し、db.killOp(opid) と組み合わせて終了できます。mongosh では db.currentOp({ active: true }) を直接呼べます。

カテゴリ監視と診断
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

db.currentOp()
db.currentOp({ active: true, secs_running: { $gt: 5 } })
db.killOp(<opid>)

⚙️ パラメータ

activeactive が true の操作のみを返します。
secs_running実行秒数で絞り込みます(例: $gt: 5)。

戻り値:操作ごとに1つの詳細ドキュメントを持つ inprog 配列を返します

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// currentOp: 5 秒以上実行中の操作を探す
db.currentOp({ active: true, secs_running: { $gt: 5 } })
// opid で終了する
// db.killOp(12345)

出力:

{ inprog: [ { opid: 12345, secs_running: 12, ns: 'shop.orders' } ], ok: 1 }

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q低速クエリはどう見つけますか?
Adb.currentOp({ active: true, secs_running: { $gt: 5 } }) を実行し、secs_running で並べ替えます。
Q固まった操作はどう終了しますか?
AcurrentOp の opid を取得し、db.killOp(opid) を実行します。
QcurrentOp には権限が必要ですか?
Aはい。inprog / killop 権限が必要です。通常ユーザーは自分の操作しか見えません。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%