在一次测试的测试过程中,测试做可靠性测试,反复调用接口100次,在第10次时数据写入失败,以及可以观测到进程被杀。
- 首先可以推测为是崩溃问题,因此打开core dump功能,但通过测试了解到机器已经开启了该功能,在coredump生成路径查找当天的core文件,没发现有。
- 因为没有core文件,推测为多次写入失败,因此触发了软件的关闭流程,查验日志,未曾发现有退出的日志打印,以及源码无相关代码。
- 到目前为止,非崩溃,非正常退出,推测可能是操作系统杀了该进程。可能是oom被系统给杀了,所以导致进程不见了,以及未生成core文件。使用命令
dmesg -T
可看到日志里有该进程因oom被杀。 - 修改代码,解决oom问题。