1、 前几天处理了server内存泄露的问题,现在server端内存使用比较正常,但是server挂掉的影响太大,server挂了,几百台监控机都会异常,大批量的旺旺报警就来了,为了进一步保证稳定性,在server端写了一个自监控启动程序:当自己内存消耗到90%时,就自杀再重新启动起来,当然会留下日志备查。
上图中开始采用第一种方案实现,与启动参数的最大内存有关系,后来受仁哥的启发,实现了第二中方式,在方式二中可以发现,计算结果不依赖于启动时设置的Xmx,不仅少了一步,而且直接取老年代的利用率,不受新生代区的影响,不用关心启动的最大内存分配,能更准确这种监控需求,涉及内存分配结构,后面会逐步整理JVM内存结构,这里先不作分析了。
2、现在Server部署了两台互为备份,再加上自启动程序,应该比较稳定了。