




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Linux下如何檢查內(nèi)存泄露,什么是內(nèi)存泄露?,以下說法哪個正確? 應(yīng)用程序在分配某段內(nèi)存后,由于程序使用錯誤造成物理內(nèi)存的缺失 應(yīng)用程序在分配某段內(nèi)存后,由于設(shè)計錯誤,失去了對該段內(nèi)存的控制,因而造成了內(nèi)存的浪費,什么是內(nèi)存泄露?,指的是堆內(nèi)存的泄露,堆內(nèi)存是指程序從堆中分配的,任意大小的使用后必須顯式釋放的內(nèi)存 分配: malloc, calloc, realloc, new 釋放: free, delete 由于疏忽或錯誤造成程序未能釋放已經(jīng)不再使用的內(nèi)存的情況,Linux下檢查內(nèi)存泄露,內(nèi)存泄露的主要表現(xiàn)及其危害 當(dāng)程序連續(xù)運行時,與程序相關(guān)的內(nèi)存(或堆)變的越來越大 內(nèi)存泄露會減少可用內(nèi)存的數(shù)量從而降低計算機的性能 當(dāng)所消耗的內(nèi)存達到系統(tǒng)的上限時候,自己會崩潰,嚴重者導(dǎo)致系統(tǒng)掛起或崩潰,以下程序會發(fā)生內(nèi)存泄露嗎? (一),以下程序會發(fā)生內(nèi)存泄露嗎? (一),以下程序會發(fā)生內(nèi)存泄露嗎? (二),以下程序會發(fā)生內(nèi)存泄露嗎? (二),以下程序會發(fā)生內(nèi)存泄露嗎? (二),ps:顯示瞬間進程的狀態(tài) 常用參數(shù): l: 長格式輸出 u: 按用戶名和啟動時間的順序來顯示進程 j: 用任務(wù)格式來顯示進程 f: 用樹形格式來顯示進程 a: 顯示所有用戶的所有進程 x: 顯示無控制終端的進程 r: 顯示運行中的進程 ww: 避免詳細參數(shù)被截斷,以下程序會發(fā)生內(nèi)存泄露嗎? (二),ps使用范例 $ps /列出當(dāng)前shell里當(dāng)前用戶的進程 $ps u yuhong /列出用戶yuhong運行的所有進程 $ps el /以詳細列表方式顯示運行的所有進程 $ps aux /以詳細的BSD風(fēng)格顯示運行的所有進程,%MEM: 占用的內(nèi)存的使用率 VSZ : 虛擬內(nèi)存大小,即一個程序完全駐留在內(nèi)存的話需要占用多 少內(nèi)存空間 RSS: 當(dāng)前實際占用了多少內(nèi)存 STAT: 進程當(dāng)前狀態(tài),進程的狀態(tài),TASK_RUNNING(運行) TASK_INTERRUPTIBLE(可中斷) TASK_UNINTERRUPTIBLE(不可中斷) TASK_ZOMBIE(僵死) TASK_STOPPED(停止),R,S,D,Z,T,后綴 (高優(yōu)先級進程) N (低優(yōu)先級進程) L (內(nèi)存鎖頁) s (該進程為會話首進程) + (前臺進程) l (多線程進程),如果有進程狀態(tài)為Ssl?,以下程序會發(fā)生內(nèi)存泄露嗎? (二),以下程序會發(fā)生內(nèi)存泄露嗎? (二),top:按序顯示正在執(zhí)行的進程 $ top - d delay p pid q c C S s i n iter b uptime行,系統(tǒng)重新引導(dǎo)至今的時間、用戶數(shù)、負載平均數(shù) 第二行, 進程統(tǒng)計行:進程總數(shù),sleeping, running, zombie和stopping進程數(shù) 第三行, CPU統(tǒng)計數(shù)據(jù):用戶、系統(tǒng)、nice以及空閑進程所 占CPU時間的百分比 第四行, 存儲器的統(tǒng)計數(shù)據(jù):可用內(nèi)存總數(shù)、自由內(nèi) 存、使用的內(nèi)存、共享內(nèi)存,用于緩存空間 第五行, 虛擬內(nèi)存或交換區(qū)統(tǒng)計數(shù)據(jù):可用總交換區(qū)、使 用的交換區(qū)、自由交換區(qū)以及緩存交換區(qū) 自此以下,類似于PS格式,以下程序會發(fā)生內(nèi)存泄露嗎? (二),Linux下檢查內(nèi)存泄露,ps aux, top 靜態(tài)分析工具 mtrace 在main.c代碼中嵌入: #include mtrace(); /*要檢查是否會有內(nèi)存泄露的代碼段*/ muntrace(); 編譯運行 $gcc o main main.c $export MALLOC_TRACE=./log /用該環(huán)境變量來定義一個文件log用于輸出 $./main $cat log,Linux下檢查內(nèi)存泄露,ps aux, top 靜態(tài)分析工具 mtrace 動態(tài)分析 Valgrind 訪問 Valgrind HOW TO 站點 /HOWTO/Valgrind-HOWTO/ S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東初升高期末數(shù)學(xué)試卷
- 2025年河北石家莊市中醫(yī)醫(yī)院公開招聘藥劑師6名筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025至2030城市交通控制行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 甘肅公務(wù)員行測(A類)真題及答案
- 北京腫瘤醫(yī)院社會人員招聘考試真題2024
- 2025至2030草本化妝品行業(yè)市場深度研究與戰(zhàn)略咨詢分析報告
- 2025至2030采礦采石行業(yè)市場占有率及投資前景評估規(guī)劃報告
- 福清市蓮峰小學(xué)數(shù)學(xué)試卷
- 二年級設(shè)計數(shù)學(xué)試卷
- 廣東河源小升初數(shù)學(xué)試卷
- 防災(zāi)減災(zāi)培訓(xùn)(安全行業(yè)講座培訓(xùn)課件)
- 電力安全知識相關(guān)內(nèi)容培訓(xùn)
- 設(shè)備監(jiān)造工作流程
- 2025年醫(yī)療質(zhì)量安全管理與持續(xù)改進考核標準、考核辦法、改進措施
- 凈水器安裝協(xié)議書
- 網(wǎng)絡(luò)輿情課件教學(xué)課件
- DB41T 2500-2023 地下水監(jiān)測井洗井、修井技術(shù)規(guī)范
- 中國稅制學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 中國心力衰竭診斷和治療指南2024解讀(完整版)
- 國開《當(dāng)代中國政治制度》形考任務(wù)1-4參考答案
- 全國中小學(xué)“學(xué)憲法、講憲法”法治知識競賽題庫及答案
評論
0/150
提交評論