国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎么確認某個進程有沒有出現內存泄漏

工程師鄧生 ? 來源:嵌入式Linux ? 作者:山岳 ? 2022-09-16 17:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

是今天和朋友討論的問題,用free看到的內存在減少,但是看/proc/meminfo 的可用內存卻沒有減少,但是實際情況是他們的應用跑著跑著內存最后就消耗完了,難搞的是復現需要十來天。

f55eb614-3576-11ed-ba43-dac502259ad0.png


f578da26-3576-11ed-ba43-dac502259ad0.png

meminfo里面的memavailable 屬性表示的是可以用的內存大小,它是估計出來的值,并不是一個準確值。

f5985702-3576-11ed-ba43-dac502259ad0.png ?


那如果我想確認某個進程有沒有出現內存泄漏,我要怎么確認? 這類問題我一般是遇到的時候才會去分析,進程一般會有自己的進程號,比較簡單的辦法就是用top -p進程號判斷。

也可以去看/proc//status里面的VMRSS屬性

實例:


pYYBAGMkSNeAZrq3AABy6MLToQ8052.jpg

運行:

gccmemory.c && a.out

查看屬性:

f5f32498-3576-11ed-ba43-dac502259ad0.png

free 看到的內存信息是從meminfo里面解析出來的,所以要看系統的具體內存占用,還是要看meminfo,但是meminfo里面有很多很多屬性,很少有人能夠非常明白的說明清楚。

我嘗試說下幾個通常見到的

MemTotal

這是內存條大小的容量,但是我們往往看到這個值和我們的內存條大小不同,比如,硬件設計的時候告訴我們使用的內存條大小是2GB,實際上這里可能不是2GB,那是因為系統是開機的時候在bootloader,或者其他部分占用了一部分。

f960c7c0-3576-11ed-ba43-dac502259ad0.png

MemFree

系統剩余內存大小,MemTotal - MemFree 就是已經使用的內存大小。

MemAvailable

這是一個估算值,并不是精確值。

我們看到的剩余內存MemFree大小,并不是我們系統應用程序可以分配的內存大小,系統中存在的緩存cache/buffer、slab回收內存系統可以從其他地方摳一些內存出來再加上MemFree就等于MemAvailable,應用程序就可以判斷這個數值判斷自己應該申請的內存空間。



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內存條
    +關注

    關注

    0

    文章

    153

    瀏覽量

    20415
  • Cache
    +關注

    關注

    0

    文章

    130

    瀏覽量

    29707
  • gcc編譯器
    +關注

    關注

    0

    文章

    78

    瀏覽量

    3987

原文標題:我的內存去哪了?

文章出處:【微信號:嵌入式與Linux那些事,微信公眾號:嵌入式與Linux那些事】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    飛凌嵌入式ElfBoard-進程之什么是進程

    進程是正在執行(已經開始執行但還沒終止的)的程序實例,執行程序時,內核會將程序載入虛擬內存,為程序變量分配空間,建立內核記賬(bookkeeping)數據結構,以記錄與進程有關的各種信息(比如,
    發表于 01-26 08:42

    光纖收發器有沒有正反?一文講清配對使用要點,廣州郵科專業解答!

    在工業通信、安防監控、智能樓宇等項目部署中, 光纖收發器 作為光電轉換的核心設備,被廣泛應用。但很多新手工程師或集成商常會疑惑:“ 光纖收發器 有沒有正反? ”“能不能隨便配對使用?”今天,我們
    的頭像 發表于 01-15 10:40 ?140次閱讀
    光纖收發器<b class='flag-5'>有沒有</b>正反?一文講清配對使用要點,廣州郵科專業解答!

    進程概念和特征

    。   2. 并發性:指多個進程實體,同存于內存中,能在一段時間內同時運行,并發性是進程的重要特征,同時也是操作系統的重要特征。引入進程的目的就是為了使程序能與其他
    發表于 01-15 06:39

    進程通信

    直接把消息發送給接收進程,并將它掛在接收進程的消息緩沖隊列上,接收進程從消息緩沖隊列中取得消息。   2) 間接通信方式:發送進程把消息發送到某個
    發表于 01-15 06:16

    進程的控制

    所期待的事件出現時,如它所啟動的I/O操作已完成或其所期待的數據已到達,則由有關進程(比如,提供數據的進程)調用喚醒原語(Wakeup),將等待該事件的進程喚醒。   喚醒原語的執行
    發表于 01-15 06:05

    解析Linux的進程、線程和協程

    一、基礎概念 進程(Process) 進程是計算機中運行的程序的實例,它是操作系統中最基本的執行單元之一。每個進程都有自己的獨立內存空間、系統資源和代碼執行流。這意味著一個
    發表于 12-22 11:00

    使用w5500通信使用wiz包的時候,突然拔掉網線,如何釋放網絡資源?

    也就越多。也就是在拔掉網線之后調用closesocket并沒有釋放網絡資源。這個時候再次接入網線,就無法繼續通信了。需要重啟w5500。但是重啟w5500也無法解決內存泄漏的問題。 有沒有
    發表于 10-11 09:01

    請問有沒有用uboot引導啟動過rtthread-smart的?

    通過uboot引導,在imx6ull開發板上啟動rtthread-smart,通過thtp從網口下載到內存后,用go命令無法啟動,且沒有額外的打印消息,有沒有遇到同樣問題的?這個該怎么解決
    發表于 09-28 10:50

    at_device 包 ml307長時間運行有內存泄漏問題怎么解決?

    使用 at_device 包中的 ml307 包長時間運行有大量內存泄漏問題,大概漲了20K,求助解決。
    發表于 09-24 07:41

    rtthread線程出現異常了,有沒有什么鉤子函數能夠定義用戶操作?

    線程出現異常了,有沒有什么鉤子函數能夠定義用戶操作????
    發表于 09-18 06:36

    瑞芯微3576,使用FP16模型進行訓練,瑞芯微官方接口概率崩潰

    corrupted。之前使用INT8的模型沒出現過這個錯誤。使用的是model_zoo中的aarch64下的librknnrt.so。未崩潰時能正常檢測,可以確認崩潰前沒有內存
    發表于 07-17 13:25

    想問下怎么查看安卓系統有沒有VPU驅動?

    購買了一個CPU是RK3576, android 14 的機頂盒,能通過adb查看有沒有VPU驅動么?查看哪些信息來確認過?
    發表于 07-01 09:10

    在OpenVINO? C++代碼中啟用 AddressSanitizer 時的內存泄漏怎么解決?

    在 OpenVINO? C++代碼中啟用 AddressSanitizer 時遇到內存泄漏: \"#0 0xaaaab8558370 in operator new(unsigned
    發表于 06-23 07:16

    golang內存分配

    作者:錢文 Go 的分配采用了類似 tcmalloc 的結構.特點: 使用一小塊一小塊的連續內存頁, 進行分配某個范圍大小的內存需求. 比如某個連續 8KB 專門用于分配 17-24
    的頭像 發表于 03-31 15:00 ?514次閱讀
    golang<b class='flag-5'>內存</b>分配

    使用OpenVINO?進行推理時的內存泄漏怎么解決?

    使用 OpenVINO? 進行推理時,內存會隨著時間的推移而增加,并導致程序崩潰。
    發表于 03-06 08:29