OOM
问题
一个sql里查询的数据70W,占用内存100多M多个这样的sql,就可能导致OOM,需要Java服务都重启才能解决
原因
在RabbitMQ里操作失败后,还会失败查询,到这上述sql增多,继续发生OOM,继续重试,造成恶性循环
解决
1)限制查询数据的地方2)对OOM问题要重视,避免服务重启,影响接口和业务功能
其他
1)OOM后,可以从其dump的文件中分析定位原因解决
2)Java和php不一样的地方:Java为什么一个 OOM就会导致整个服务的挂掉? php的话出现查询一次内容过多,只是影响本次内容的,不会影响整个服务的
Idea的debug一些技巧
1)可以通过设置实现一个spring 应用启动2个服务
2)条件debug:debug时,临时修改让某些条件的走debug
3)动态调整变量的值:可以通过修改debug栏目里这个修改
网友评论