放置在网站根目录下,wordpress添加视频集,素马设计顾问讲解价格,网站后台登陆密码忘记了还是周末我也不想说周末#xff0c;但是不是周末的话#xff0c;可能也没有特别清净的时间来处理困难的问题。这周末我是要加班的#xff0c;加班的前一个晚上#xff0c;我领导找我们吃了一个便饭#xff0c;聊了很多东西#xff0c;这篇文章我就不说了#xff0c;会在… 还是周末我也不想说周末但是不是周末的话可能也没有特别清净的时间来处理困难的问题。这周末我是要加班的加班的前一个晚上我领导找我们吃了一个便饭聊了很多东西这篇文章我就不说了会在下篇文章来讲这个事情这篇文章就讲修复的内存溢出的问题。问题出现的现象现象是我们测试发现晚上在不断的运行后会出现重启而且是每隔1个小时左右就会重启。然后我们拿到了日志分析发现每次重启前都会出现 Out of memory这里感谢guanxi同学我那时候还没有注意他给我指出来了。OOM会导致系统把占用内存最大的进程给kill掉如果连续3次OOM就会导致重启。当然你也可以设置阈值来修改这些配置如下可以修改触发OOM的门限echo -100 /proc/$PID/oom_score_adj分析问题因为每次出现后都是会干掉我们的应用程序我们先把应用程序分析了一遍最后发现把我们的应用程序干掉还是会出现内存溢出。export TERMlinux
htop关于htop的用法大家可以去自己体验一下里面有非常多的配置可以看到很多关于系统的内容。在htop界面可以清晰的看到内存一点一点的增加。所以不是应用的问题。系统部分分析然后我回退代码发现是一个HID的修改增加导致的这个修改是和HID增加mute相关的。再观察日志的时候在正常的情况下内核不会反复打印某条日志。然后就用上了抓包工具wireshark,这个工具不仅可以抓网络包还可以抓USB包。抓到包后发给我的同事辉哥辉哥分析后是因为代码里面没有对这种异常情况进行判断。so,加上这部分的判断就可以了。非常感谢guanxi给我们提供了另外一种USB抓包工具如果大家想获取可以在公众号后台回复「USB抓包工具」关于这个问题的一些思考刚开始我想找到某个线程的内存异常但是线程的内存和进程是共享的所以一个进程开了20个线程每个线程体现的都是进程的内存大小看起来并没有差异。而且我在查看进程内存的时候发现进程的内存并没有增加这时候我就应该转变方向了。rockchip的很多代码写的都很好但是在实际的应用场景上会遇到各种各样的问题我们这次的修改也是因为在这款设备上面出现的差异在其他设备上是没有问题的但是要想去排查所有的硬件差异后根除那可能比修改代码更加困难。抓日志分析一定是最好的解决问题的方式在遇到问题前还是要先找出问题差异点从差异点去分析。最后还是辉哥yyds。