今天遇到一个问题,我们的守护进程占用了太多内存,导致其他app卡顿的现象
1. valgrind运行查看,没有发现特别的问题
2. 代码review,优先看数据量大的case及while循环多的地方
3. 优化了一些小的结构体泄露,结果仍然内存过高
4. 发现读取文件,但是内容没有释放。
由于rename函数由于权限不能正常工作,因此使用了read->write的方法
结果write后,之前read的内容没释放,倒是频繁的文件内容占用太多的内存
5. 及时释放
6. 此外,可以在守护进程的service中设置maxmemlimit=20
这样该进程不会占用超过20M的内存,从而不会影响其他app