作業系統為windows server 2012 R2 Standard
系統狀態:

應用程式所占用記憶體:

poolmon的狀態(按照NonPage的占用從大到小排列了):

非頁面緩沖池那兒(Pool N) 的值為60G左右,但是看串列里面,最大的才426M。頁面緩沖池也沒問題。
系統跑著我們的c++應用程式,就是用new申請記憶體,不可能觸到非頁面緩沖池這塊。但是呼叫了海康大華的sdk連接鏡頭。現在會這樣一直漲直到記憶體耗盡,需要重啟機器才能解決。如果是sdk的問題,我應該怎么除錯找出證據,因為看自己exe相關記憶體都是正常的。
非頁面緩沖池并非突然漲,而是無規律的慢慢漲,機器運行了1個月左右,
現在不知道該怎么除錯。各位大佬有沒有辦法怎么看誰在吃非頁面緩沖池的記憶體?
uj5u.com熱心網友回復:
使用多行程隔離資源泄露。uj5u.com熱心網友回復:
完全沒懂,能具體點么
uj5u.com熱心網友回復:
B有資源泄露A直接呼叫B,A也資源泄露
A每次呼叫B,都啟動一個新的子行程,并將入參傳給該子行程,子行程內呼叫B,并設法將結果傳給父行程A,然后子行程馬上退出。A就沒資源泄露的。
當然此處的資源僅限退出行程時,會被作業系統自動回收的那幾類資源。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/61027.html
標籤:硬件/系統
下一篇:vc 列印問題
