樱桃喵星人 發表於 2020-7-21 23:20:00

MongoDB进程查看方法

<p><strong>(1)查看MongoDB的连接信息</strong><br>
</p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre>db.serverStatus().connections</pre>
</div>
<p>结果如下:</p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre><span style="color: rgba(0, 0, 0, 1)">{
    "</span><span style="color: rgba(0, 0, 255, 1)">current</span>" : <span style="color: rgba(128, 0, 0, 1); font-weight: bold">233</span><span style="color: rgba(0, 0, 0, 1)">,
    "available" : </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">50967</span><span style="color: rgba(0, 0, 0, 1)">,
    "totalCreated" : NumberLong(</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">191495</span><span style="color: rgba(0, 0, 0, 1)">)
}</span></pre>
</div>
<p><strong>各个关键词的含义:</strong></p>
<p><span style="color: rgba(136, 136, 136, 1)">current:当前连接数</span><br><span style="color: rgba(136, 136, 136, 1)">available:可用连接数</span><br><span style="color: rgba(136, 136, 136, 1)">TotalCreated:累计创建线程数</span></p>
<p>&nbsp;</p>
<p><strong>(2)使用db.currentOP()方法查看进程信息</strong></p>
<p><strong>(2.1)使用db.currentOP()查看活跃进程操作</strong></p>
<div class="cnblogs_code">
<pre>db.currentOP()</pre>
</div>
<p>&nbsp;</p>
<p>结果如下:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">{
    "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)
                }
            }
      }
    ]
}</span></pre>
</div>
<p>&nbsp;<strong>各个关键词的含义:</strong></p>
<p><span style="color: rgba(128, 128, 128, 1)">opid:进程号</span><br><span style="color: rgba(128, 128, 128, 1)">active:是否活跃状态</span><br><span style="color: rgba(128, 128, 128, 1)">secs_running:操作运行秒数</span><br><span style="color: rgba(128, 128, 128, 1)">microsecs_running:操作运行微秒数</span><br><span style="color: rgba(128, 128, 128, 1)">op:操作类型,包括(insert/update/query/remove/getmore/command)</span><br><span style="color: rgba(128, 128, 128, 1)">ns:命名空间</span><br><span style="color: rgba(128, 128, 128, 1)">query:查询语句</span><br><span style="color: rgba(128, 128, 128, 1)">client:连接的客户端信息</span><br><span style="color: rgba(128, 128, 128, 1)">desc:描述信息</span><br><span style="color: rgba(128, 128, 128, 1)">threadId:线程id</span><br><span style="color: rgba(128, 128, 128, 1)">connectionId:连接id</span><br><span style="color: rgba(128, 128, 128, 1)">waitingForLock:是否等待获取锁</span><br><span style="color: rgba(128, 128, 128, 1)">lockStats.timeLockedMicros.r:持有读锁的时间(微秒)</span><br><span style="color: rgba(128, 128, 128, 1)">lockStats.timeLockedMicros.w:持有写锁的时间(微秒)</span><br><span style="color: rgba(128, 128, 128, 1)">lockStats.timeAcquiringMicros.r:请求读锁的时间(微秒)</span><br><span style="color: rgba(128, 128, 128, 1)">lockStats.timeAcquiringMicros.2:请求写锁的时间(微秒)</span></p>
<p>&nbsp;</p>
<p><strong>(2.2)使用db.currentOP(&lt;operations&gt;)查看所有进程</strong><br>可以使用&nbsp;<span class="cnblogs_code">db.currentOP(<span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">operations</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>)</span>&nbsp;查看所有进程,operations取值如下:</p>
<table border="0">
<tbody>
<tr style="background-color: rgba(137, 131, 118, 1)">
<td>参数&nbsp;</td>
<td>类型</td>
<td>描述</td>


</tr>
<tr>
<td>operations</td>
<td>&nbsp;boolean or document</td>
<td>
<p>-- 定义为<strong>true</strong>,结果包含空闲的连接和系统后台进程</p>
<p>-- 定义为<strong>document with query conditions</strong> ,结果返回符合条件的操作</p>


</td>


</tr>


</tbody>


</table>
<p>(2.2.1)定义为布尔值true,返回全部连接</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 定义为true,返回全部连接,包含active、idle、system</span>
db.currentOP({<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$all</span><span style="color: rgba(128, 0, 0, 1)">"</span>:<span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">})
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">或</span>
db.currentOp(<span style="color: rgba(0, 0, 255, 1)">true</span>)</pre>
</div>
<p>&nbsp;</p>
<p><br>(2.2.2)定义为文档,返回符合条件的连接<br>例子1:查看等待获取锁的会话</p>
<div class="cnblogs_code">
<pre>db.currentOP({<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">waitingForLock</span><span style="color: rgba(128, 0, 0, 1)">"</span> : <span style="color: rgba(0, 0, 255, 1)">true</span>})</pre>
</div>
<p>&nbsp;</p>
<p><br>例子2:查看db1数据库执行时间超过3秒的活动进程</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.currentOP(
{
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">active</span><span style="color: rgba(128, 0, 0, 1)">"</span> : <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">secs_running</span><span style="color: rgba(128, 0, 0, 1)">"</span>:{<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$gt</span><span style="color: rgba(128, 0, 0, 1)">"</span>:<span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">},
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">ns</span><span style="color: rgba(128, 0, 0, 1)">"</span>:/^db1\./<span style="color: rgba(0, 0, 0, 1)">
}
)</span></pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>(3)MongoDB杀死正在执行的进程</strong></p>
<div class="cnblogs_code" style="padding: 5px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; background-color: rgba(245, 245, 245, 1)">
<pre>db.killOp(opid);</pre>
</div>
<p>&nbsp;</p>
<p>【完】</p><br><br>
来源:https://www.cnblogs.com/lijiaman/p/13358077.html
頁: [1]
查看完整版本: MongoDB进程查看方法