MongoDB進程查看方法


(1)查看MongoDB的連接信息

db.serverStatus().connections

結果如下:

{
    "current" : 233,
    "available" : 50967,
    "totalCreated" : NumberLong(191495)
}

各個關鍵詞的含義:

current:當前連接數
available:可用連接數
TotalCreated:累計創建線程數

 

(2)使用db.currentOP()方法查看進程信息

(2.1)使用db.currentOP()查看活躍進程操作

db.currentOP()

 

結果如下:

{
    "inprog" : [ 
        {
            "opid" : 555344731,
            "active" : true,
            "secs_running" : 4,
            "microsecs_running" : NumberLong(4245011),
            "op" : "getmore",
            "ns" : "local.oplog.$main",
            "query" : {
                "ts" : {
                    "$gte" : Timestamp(1587629847, 1)
                }
            },
            "client" : "10.1.70.58:39730",
            "desc" : "conn138331",
            "threadId" : "0x7e9b25584700",
            "connectionId" : 138331,
            "waitingForLock" : false,
            "numYields" : 0,
            "lockStats" : {
                "timeLockedMicros" : {
                    "r" : NumberLong(364),
                    "w" : NumberLong(0)
                },
                "timeAcquiringMicros" : {
                    "r" : NumberLong(16),
                    "w" : NumberLong(0)
                }
            }
        }
    ]
}

 各個關鍵詞的含義:

opid:進程號
active:是否活躍狀態
secs_running:操作運行秒數
microsecs_running:操作運行微秒數
op:操作類型,包括(insert/update/query/remove/getmore/command)
ns:命名空間
query:查詢語句
client:連接的客戶端信息
desc:描述信息
threadId:線程id
connectionId:連接id
waitingForLock:是否等待獲取鎖
lockStats.timeLockedMicros.r:持有讀鎖的時間(微秒)
lockStats.timeLockedMicros.w:持有寫鎖的時間(微秒)
lockStats.timeAcquiringMicros.r:請求讀鎖的時間(微秒)
lockStats.timeAcquiringMicros.2:請求寫鎖的時間(微秒)

 

(2.2)使用db.currentOP(<operations>)查看所有進程
可以使用 db.currentOP(<operations>) 查看所有進程,operations取值如下:

參數  類型 描述
operations  boolean or document

-- 定義為true,結果包含空閑的連接和系統后台進程

-- 定義為document with query conditions ,結果返回符合條件的操作

(2.2.1)定義為布爾值true,返回全部連接

// 定義為true,返回全部連接,包含active、idle、system
db.currentOP({"$all":true})
//
db.currentOp(true)

 


(2.2.2)定義為文檔,返回符合條件的連接
例子1:查看等待獲取鎖的會話

db.currentOP({"waitingForLock" : true})

 


例子2:查看db1數據庫執行時間超過3秒的活動進程

db.currentOP(
  {
      "active" : true,
      "secs_running":{"$gt":3},
      "ns":/^db1\./
  }
)

 

 

(3)MongoDB殺死正在執行的進程

db.killOp(opid);

 

【完】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM