內(nèi)存泄露怎么定位?
1.
定位占用CPU最高的服務
先找到cpu占用比較高的進程:top -c 進去后按Shift+P鍵 一般異常的進程cpu的占用會很高,記錄下這進程的PID
查看指定進程cpu情況:top -cp 查看此進程占用cpu最高的線程,記錄下線程的ppid 也可以將相關信息保存下來
什么是內(nèi)存泄漏
在計算機科學中,內(nèi)存泄漏指由于疏忽或錯誤造成程序未能釋放已經(jīng)不再使用的內(nèi)存。
內(nèi)存泄漏并非指內(nèi)存在物理上的消失,而指程序中已動態(tài)分配的堆內(nèi)存由于某種原因程序未釋放或無法釋放,造成系統(tǒng)內(nèi)存的浪費,導致程序運行速度減慢甚至系統(tǒng)崩潰等嚴重后果。
在C中出現(xiàn)內(nèi)存泄漏的主要原因就是程序猿在申請了內(nèi)存后,沒有及時釋放沒用的內(nèi)存空間,甚至消滅了指針導致該區(qū)域內(nèi)存空間根本無法釋放。
知道了出現(xiàn)內(nèi)存泄漏的原因就能知道如何應對內(nèi)存泄漏,即:不用了的內(nèi)存空間記得釋放,不釋放留著過年哇!