Java,主线程启动子线程,原地wait+awake,检查子线程堆内存申请,并在超额时kill掉。
这个操作可以准确检查cpuTime,堆内存有点问题,会意外杀死健康线程(测试环境,未混入不健康线程)
需HotSpot JDK
1.首先怀疑子线程非alive,经排除法排除
2.次怀疑采样取数不准,采用4次采样求平均方式,测试中。。。。。
3.求平均无法避免该问题,已证实为native方法返回的堆内存值在极小的概率下不准
4.改为将总线制分成四份,分阶段监控,监控满阶段数量后触发kill线程,测试中
5.测试成功,结果满意,已回馈开源项目