1. <wbr id="cnjas"><legend id="cnjas"></legend></wbr>

          Linux培訓
          達內IT學院

          400-111-8989

          Linux內存泄漏與測試(精華)

          • 發布:Linux培訓
          • 來源:Linux教程
          • 時間:2017-08-08 15:43

          今天在接口壓力測試過程中發現在反復調用接口某一段時間后, 系統無法正常響應請求,一段時間后又恢復正常,查看Log時發現,在出現系統無法正常響應接口請求時,會kill掉特定的兩個進程,因此判斷這兩個進程在系統運行一段時間后,始終為系統占用內存最多的兩個進程,懷疑這兩個進程存在內存泄漏。于是寫了一個shell小腳本每隔一段時間打印這兩個進程所占用的物理內存,具體的shell腳本為while true;do cat/proc/{進程PID/status |grep VmRSS;sleep 1;done},果然發現這兩個進程所占用的物理內存存在穩定性增長的現象,存在著內存泄漏,于是覺得有必要總結一下什么是內存泄漏,如何測試內存泄漏,內存泄漏是如何產生的以及怎樣解決內存泄漏。

          什么是內存泄漏

          內存泄漏是指程序中已動態分配的堆內存由于某種原因程序未釋放或無法釋放,造成系統內存的浪費,導致程序運行速度減慢甚至系統崩潰等嚴重后果。

          內存泄漏是如何產生的

          內存泄漏是C編程中最常見的問題,在C語言上,從變量存在的生命周期角度,把變量分為靜態存儲變量和動態存儲變量兩類,靜態存儲變量會在程序運行過程中被分配固定存儲空間,在程序結束時會釋放,而動態存儲變量則是在程序執行過程中根據需要動態分配和釋放的存儲單元。程序中動態分配的存儲空間,在程序執行完畢后需要釋放。沒有釋放動態分配的存儲空間就會造成內存泄漏。

          如何測試是否有內存泄漏

          (1) 在壓力測試過程中,我們主要傾向于模仿用戶長時間使用設備或調用接口,經過一段時間后,查看進程內存的使用情況,對于那些內存大量增長的進程,可以初步懷疑有內存泄漏發生。這種測試的好處是測試成本比較低,比較貼近用戶真實使用場景,然而往往可能出現我們并不知道具體有哪些進程存在內存泄漏,導致開發修改了一處之后可能會有遺漏,這樣反復測,反復修改,拖慢了整個項目周期。

          (2) 單獨針對某個進程進行壓力測試,比較反復調用進程前后內存的使用情況,這種測試的好處在于測試能夠全面了解具體是哪些進程存在內存泄漏,而缺點在于測試因此,我覺得抓住問題大概率出現的系統進程進行單獨壓測,最后再與其他進程進行全面壓測是更好的辦法,因此我們有必要了解在Linux系統中具體是哪些進程會大概率出現內存泄漏的現象。對于我所從事的通信行業來講,大部分產品都是以linux為內核的嵌入式產品,產品中的各功能模塊都是在系統中安裝某種服務來提供的,比如netifd,一個管理網絡接口和路由功能的后臺進程,這種需要為用戶吃持續長時間提供服務的進程叫做守護進程,又被稱為精靈進程,內存泄漏就大概率地存在于守護進程中,因此這些進程應該是我們需要主要關注的進程。

          關于內存泄漏的測試方法,不知道其他同學有沒有這方面的經驗或者有更好的測試方法,希望能不吝賜教。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:Linux內核驅動中對文件的讀寫
          下一篇:Linux的發行版簡介、聯系和區別
          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          欧美做爰视频免费播放_做暖全过程免费的视频_性爱免费视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>