车载后视镜机器,Liinux + qtUI形式,前后双路,前一天晚上开机用gdb run DvrUI,第二天早上回来一看,机器绿屏卡死了,录像预览停止刷新了,sd录像也停止了。点击无任何反应。
看gdb打印显示“Program terminated with signal SIGKILL,Killed” ,用bt答应stack调用显示“No statck”。很怪异不知道怎么死的。
想来想去没有谁会来kill我的进程,除了OOM killer(Out Of Memory killer),怀疑内存占用过高导致进程被OOM killer杀死了,所以没有log,也没有stack显示。
用dmesg 看下内核log 果然是发现lowmemorykiller字样 Killing ‘DvrUI',没错就是他,OOM Kiler。
应该是应用程序哪里有内存泄漏,导致占用越来越越高,引来杀身之祸,得去查查代码。