[問題] 從 meminfo 來判斷 memory leak

看板LinuxDev作者 (左手哥)時間9年前 (2016/04/14 20:40), 9年前編輯推噓3(302)
留言5則, 4人參與, 最新討論串1/1
小弟目前在平台上測試程式時, 發現當我重複跑某個功能 /proc/meminfo 中的 MemFree 會不斷減少, 但是 Active跟Inactive增加的幅度卻 沒這麼多, 是否可以依此判斷有 memory leak 的可能呢 謝謝 以下 meminfo 由左至右是 操作前 10次 20次 操作前跟10次 memFree 的差距減去 Active+Inactive 的差距有 6904 KB 10次跟 20次的差距有 5824 KB MemTotal: 752836 752836 752836 MemFree: 437492 423784 413452 Buffers: 15144 18620 22012 Cached: 148012 148536 148536 SwapCached: 0 0 0 Active: 103416 106284 107356 Inactive: 143712 147648 151084 Active(anon): 85860 88708 89780 Inactive(anon): 8496 8452 8496 Active(file): 17556 17576 17576 Inactive(file): 135216 139196 142588 Unevictable: 0 0 0 Mlocked: 0 0 0 HighTotal: 425984 425984 425984 HighFree: 155168 145248 138304 LowTotal: 326852 326852 326852 LowFree: 282324 278536 275148 SwapTotal: 0 0 0 SwapFree: 0 0 0 Dirty: 0 0 0 Writeback: 0 0 0 AnonPages: 83976 86848 87912 Mapped: 53376 53376 53376 Shmem: 10404 10404 10404 Slab: 13040 13272 13424 SReclaimable: 5420 5496 5556 SUnreclaim: 7620 7776 7868 KernelStack: 3480 3448 3448 PageTables: 2496 2512 2524 NFS_Unstable: 0 0 0 Bounce: 0 76 0 WritebackTmp: 0 0 0 CommitLimit: 376416 376416 376416 Committed_AS: 2993484 3002852 3004044 VmallocTotal: 401408 401408 401408 VmallocUsed: 213204 213212 213228 VmallocChunk: 118780 118780 118780 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.87.77 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1460637609.A.8F7.html ※ 編輯: kicoomi (118.163.87.77), 04/15/2016 13:16:08

04/15 14:10, , 1F
你程式有讀寫檔案嗎,讀寫檔案也會耗buffer cache,
04/15 14:10, 1F

04/15 14:11, , 2F
可先用posix_fadvise() with POSIX_FADV_DONTNEED 先試試
04/15 14:11, 2F
試過了, 雖然 cache的部分會回到 MemFree, 不過 MemFree 整體還是一直減少 cache跟buffer增加的幅度也沒有這麼大, 看起來不是這方面的問題 ※ 編輯: kicoomi (118.163.87.77), 04/15/2016 16:40:56

04/16 18:51, , 3F
你所謂的那個功能還可以拆成更小的功能嗎?
04/16 18:51, 3F

05/20 01:00, , 4F
每次跑前先drop cache看看
05/20 01:00, 4F

03/23 12:09, , 5F
valgrind這個套件 跑跑看呢?
03/23 12:09, 5F
文章代碼(AID): #1N3u-fZt (LinuxDev)
文章代碼(AID): #1N3u-fZt (LinuxDev)