91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎么確認(rèn)某個(gè)進(jìn)程有沒(méi)有出現(xiàn)內(nèi)存泄漏

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

掃碼添加小助手

加入工程師交流群

是今天和朋友討論的問(wèn)題,用free看到的內(nèi)存在減少,但是看/proc/meminfo 的可用內(nèi)存卻沒(méi)有減少,但是實(shí)際情況是他們的應(yīng)用跑著跑著內(nèi)存最后就消耗完了,難搞的是復(fù)現(xiàn)需要十來(lái)天。

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


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

meminfo里面的memavailable 屬性表示的是可以用的內(nèi)存大小,它是估計(jì)出來(lái)的值,并不是一個(gè)準(zhǔn)確值。

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


那如果我想確認(rèn)某個(gè)進(jìn)程有沒(méi)有出現(xiàn)內(nèi)存泄漏,我要怎么確認(rèn)? 這類(lèi)問(wèn)題我一般是遇到的時(shí)候才會(huì)去分析,進(jìn)程一般會(huì)有自己的進(jìn)程號(hào),比較簡(jiǎn)單的辦法就是用top -p進(jìn)程號(hào)判斷。

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

實(shí)例:


pYYBAGMkSNeAZrq3AABy6MLToQ8052.jpg

運(yùn)行:

gccmemory.c && a.out

查看屬性:

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

free 看到的內(nèi)存信息是從meminfo里面解析出來(lái)的,所以要看系統(tǒng)的具體內(nèi)存占用,還是要看meminfo,但是meminfo里面有很多很多屬性,很少有人能夠非常明白的說(shuō)明清楚。

我嘗試說(shuō)下幾個(gè)通常見(jiàn)到的

MemTotal

這是內(nèi)存條大小的容量,但是我們往往看到這個(gè)值和我們的內(nèi)存條大小不同,比如,硬件設(shè)計(jì)的時(shí)候告訴我們使用的內(nèi)存條大小是2GB,實(shí)際上這里可能不是2GB,那是因?yàn)橄到y(tǒng)是開(kāi)機(jī)的時(shí)候在bootloader,或者其他部分占用了一部分。

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

MemFree

系統(tǒng)剩余內(nèi)存大小,MemTotal - MemFree 就是已經(jīng)使用的內(nèi)存大小。

MemAvailable

這是一個(gè)估算值,并不是精確值。

我們看到的剩余內(nèi)存MemFree大小,并不是我們系統(tǒng)應(yīng)用程序可以分配的內(nèi)存大小,系統(tǒng)中存在的緩存cache/buffer、slab回收內(nèi)存系統(tǒng)可以從其他地方摳一些內(nèi)存出來(lái)再加上MemFree就等于MemAvailable,應(yīng)用程序就可以判斷這個(gè)數(shù)值判斷自己應(yīng)該申請(qǐng)的內(nèi)存空間。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存條
    +關(guān)注

    關(guān)注

    0

    文章

    153

    瀏覽量

    20419
  • Cache
    +關(guān)注

    關(guān)注

    0

    文章

    130

    瀏覽量

    29716
  • gcc編譯器
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    3995

原文標(biāo)題:我的內(nèi)存去哪了?

文章出處:【微信號(hào):嵌入式與Linux那些事,微信公眾號(hào):嵌入式與Linux那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    飛凌嵌入式ElfBoard-進(jìn)程之什么是進(jìn)程

    進(jìn)程是正在執(zhí)行(已經(jīng)開(kāi)始執(zhí)行但還沒(méi)終止的)的程序?qū)嵗瑘?zhí)行程序時(shí),內(nèi)核會(huì)將程序載入虛擬內(nèi)存,為程序變量分配空間,建立內(nèi)核記賬(bookkeeping)數(shù)據(jù)結(jié)構(gòu),以記錄與進(jìn)程有關(guān)的各種信息(比如,
    發(fā)表于 01-26 08:42

    光纖收發(fā)器有沒(méi)有正反?一文講清配對(duì)使用要點(diǎn),廣州郵科專(zhuān)業(yè)解答!

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

    進(jìn)程概念和特征

    。   2. 并發(fā)性:指多個(gè)進(jìn)程實(shí)體,同存于內(nèi)存中,能在一段時(shí)間內(nèi)同時(shí)運(yùn)行,并發(fā)性是進(jìn)程的重要特征,同時(shí)也是操作系統(tǒng)的重要特征。引入進(jìn)程的目的就是為了使程序能與其他
    發(fā)表于 01-15 06:39

    進(jìn)程通信

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

    進(jìn)程的控制

    所期待的事件出現(xiàn)時(shí),如它所啟動(dòng)的I/O操作已完成或其所期待的數(shù)據(jù)已到達(dá),則由有關(guān)進(jìn)程(比如,提供數(shù)據(jù)的進(jìn)程)調(diào)用喚醒原語(yǔ)(Wakeup),將等待該事件的進(jìn)程喚醒。   喚醒原語(yǔ)的執(zhí)行
    發(fā)表于 01-15 06:05

    解析Linux的進(jìn)程、線(xiàn)程和協(xié)程

    一、基礎(chǔ)概念 進(jìn)程(Process) 進(jìn)程是計(jì)算機(jī)中運(yùn)行的程序的實(shí)例,它是操作系統(tǒng)中最基本的執(zhí)行單元之一。每個(gè)進(jìn)程都有自己的獨(dú)立內(nèi)存空間、系統(tǒng)資源和代碼執(zhí)行流。這意味著一個(gè)
    發(fā)表于 12-22 11:00

    使用w5500通信使用wiz包的時(shí)候,突然拔掉網(wǎng)線(xiàn),如何釋放網(wǎng)絡(luò)資源?

    也就越多。也就是在拔掉網(wǎng)線(xiàn)之后調(diào)用closesocket并沒(méi)有釋放網(wǎng)絡(luò)資源。這個(gè)時(shí)候再次接入網(wǎng)線(xiàn),就無(wú)法繼續(xù)通信了。需要重啟w5500。但是重啟w5500也無(wú)法解決內(nèi)存泄漏的問(wèn)題。 有沒(méi)有
    發(fā)表于 10-11 09:01

    請(qǐng)問(wèn)有沒(méi)有用uboot引導(dǎo)啟動(dòng)過(guò)rtthread-smart的?

    通過(guò)uboot引導(dǎo),在imx6ull開(kāi)發(fā)板上啟動(dòng)rtthread-smart,通過(guò)thtp從網(wǎng)口下載到內(nèi)存后,用go命令無(wú)法啟動(dòng),且沒(méi)有額外的打印消息,有沒(méi)有遇到同樣問(wèn)題的?這個(gè)該怎么解決
    發(fā)表于 09-28 10:50

    at_device 包 ml307長(zhǎng)時(shí)間運(yùn)行有內(nèi)存泄漏問(wèn)題怎么解決?

    使用 at_device 包中的 ml307 包長(zhǎng)時(shí)間運(yùn)行有大量內(nèi)存泄漏問(wèn)題,大概漲了20K,求助解決。
    發(fā)表于 09-24 07:41

    rtthread線(xiàn)程出現(xiàn)異常了,有沒(méi)有什么鉤子函數(shù)能夠定義用戶(hù)操作?

    線(xiàn)程出現(xiàn)異常了,有沒(méi)有什么鉤子函數(shù)能夠定義用戶(hù)操作????
    發(fā)表于 09-18 06:36

    瑞芯微3576,使用FP16模型進(jìn)行訓(xùn)練,瑞芯微官方接口概率崩潰

    corrupted。之前使用INT8的模型沒(méi)出現(xiàn)過(guò)這個(gè)錯(cuò)誤。使用的是model_zoo中的aarch64下的librknnrt.so。未崩潰時(shí)能正常檢測(cè),可以確認(rèn)崩潰前沒(méi)有內(nèi)存
    發(fā)表于 07-17 13:25

    想問(wèn)下怎么查看安卓系統(tǒng)有沒(méi)有VPU驅(qū)動(dòng)?

    購(gòu)買(mǎi)了一個(gè)CPU是RK3576, android 14 的機(jī)頂盒,能通過(guò)adb查看有沒(méi)有VPU驅(qū)動(dòng)么?查看哪些信息來(lái)確認(rèn)過(guò)?
    發(fā)表于 07-01 09:10

    在OpenVINO? C++代碼中啟用 AddressSanitizer 時(shí)的內(nèi)存泄漏怎么解決?

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

    鴻蒙5開(kāi)發(fā)寶藏案例分享---內(nèi)存優(yōu)化實(shí)戰(zhàn)指南

    Hey,各位鴻蒙開(kāi)發(fā)者們! 大家有沒(méi)有這種感覺(jué):官方文檔雖然全面,但有時(shí)候就像一座巨大的寶庫(kù),里面藏著很多超實(shí)用的“金礦”,不仔細(xì)挖還真發(fā)現(xiàn)不了!最近我就意外挖到了關(guān)于****內(nèi)存優(yōu)化的寶藏章節(jié)
    發(fā)表于 06-12 17:15

    golang內(nèi)存分配

    作者:錢(qián)文 Go 的分配采用了類(lèi)似 tcmalloc 的結(jié)構(gòu).特點(diǎn): 使用一小塊一小塊的連續(xù)內(nèi)存頁(yè), 進(jìn)行分配某個(gè)范圍大小的內(nèi)存需求. 比如某個(gè)連續(xù) 8KB 專(zhuān)門(mén)用于分配 17-24
    的頭像 發(fā)表于 03-31 15:00 ?519次閱讀
    golang<b class='flag-5'>內(nèi)存</b>分配