• 石小
    2021-04-08
    “对于有经验的开发者而言,从这个 4K 的保护页就可以猜测出应该跟线程栈有关了。” 请问老师怎么理解这局话?

    作者回复: 这是为了防止栈溢出问题,当线程栈溢出后,就会写这个保护页,进而出发segfault。

    
    11
  • 飘云
    2020-10-30
    写应用层代码的时候会用到clone么,不都用pthread么? 用pthread不会出现例子中的问题吧。 另外,内存泄露很多时候是malloc了内存但是没有free,有什么好的方法快速定位是哪儿分配的内存忘了free呢?

    作者回复: pthread_create的时候可能会调用clone,clone是一个系统调用,pthread是lib库,库函数其实是对系统调用的封装。 物理内存泄露并没有什么高效的分析方式,只能通过追踪malloc/free来看在哪里申请的没有去释放。

    共 2 条评论
    5
  • 黑客不够黑
    2020-10-29
    老师好,这个案例讲的是虚拟内存泄露,我想问一下:虚拟内存分配后在使用前不会真正的分配物理内存,那这个案例是不是仅仅是进程的虚拟内存存在问题?整个Linux系统的内存应该没有异常对不对?

    作者回复: 对的 只是虚拟地址空间产生了问题 实际的物理内存并没有问题 整个系统的内存并没有异常

    
    5
  • Geek_circle
    2020-09-13
    老师好,当系统内存不足,发现kswapd0进程持续运行,使用率超过90%多,load过百,但是系统日志中并没有记录到oom killer 。想知道系统内存不足时,启动kswapd和oom killer条件和优先级是什么样的呢?

    作者回复: 内存水位不足后就会唤醒kswapd来回收内存,如果kswapd可以回收内存并且内存水位持续高,kswapd就会一直忙,它的使用率就会高。只有在回收不到内存的情况下,才会触发oom killer来杀进程。 你说的这种情况就是可以回收到内存,但是回收比较困难 所以才产生这种情况。

    
    3
  • dpzain
    2020-11-24
    现在生产环境 是jvm 程序 跑在docker容器, jvm 堆内内存 监控一切正常,但是每隔半个月 mem从50%到90% ,按照上面的方法发现确实有对外内存在缓慢的泄漏 非常慢(没5s - 20s 增加几kb甚至 几十个byte )找不出任何规律 怎么破;

    作者回复: jvm堆外内存泄漏,在明确哪些任务在泄漏内存后,最好能否结合代码来进行打点追踪,看看哪里有问题。

    
    1
  • jssfy
    2020-09-13
    问题分析过程很赞,开头的总结性图表也很赞!
    
    2
  • mong
    2022-09-16 来自广东
    老师, 看了你的这些文章, 对线上内存的定位也有一些思路, 我正面临的一个Java应用程序内存有问题的, VIRT, RSS的内存很高, 用/proc/pid/smaps, 发现有很多64M的内存申请,占了将近3个G 如下: 7fe698000000-7fe69bffa000 rw-p 00000000 00:00 0 Size: 65512 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 62456 kB Pss: 62456 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 62456 kB Referenced: 62448 kB Anonymous: 62456 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB VmFlags: rd wr mr mw me nr 但到这一步我无法继续的下去, 我用gdp dump了这段的地址的bin下来, 打开文件都Null, 所以我的java内存的堆的内存通过监控看也比较稳定, 所以目前没有什么头绪, 所以相让你指点一点, 接下来应该从哪里继续的排查;
    展开
    共 1 条评论
    
  • Bachue Zhou
    2022-06-05
    不太懂,smaps 的内容这么多,如何找到出问题的部分?是多次 cat smaps 然后做 diff 吗?
    
    
  • Felix
    2022-05-17
    真是读书万卷,其意自现
    
    
  • 我能走多远
    2020-11-07
    对底层的基础理论不牢靠,原来定位问题有这么多的方法。学习了
    
    