|
我在linux嵌入式平台上跑多线程应用程序时发现程序在空闲内存不足时会发生coredump。物理内存充足(128M),从/proc/meminfo上看,MemFree大概在2M左右,Buffer和Cache合计90几兆,Linux-2.6.10+glibc2.3.3。
从我捕获的log看在coredump之前,线程会有2到30秒的时间执行page fault操作。我怀疑是calloc/malloc需要一次性申请大块连续内存导致,但是我以前没有见过buffer+cache充足时线程因mem不够发生coredump的。
有没有那位兄弟遇到过相似问题,若有的话请指点一下。这个问题搞了很长时间一直没有头绪,不清楚是glibc的问题还是kernel的问题。 |
|