我有一台运行在kvm上的windows机器,我正在windows机器上运行一个java应用程序(使用cmsgc)。应用程序运行非常慢,所以我检查了gc日志。最大堆大小是5gb,但是在gc日志中,我可以发现小gcs甚至在堆达到最大5gb之前花费了5秒。
在检查哪个阶段使用了更多的时间后,我发现
cms并行扫描花费了太多时间。在另一台windows机器上进行检查时,我发现cms并发标记和cms并发扫描几乎占了30%。增加的cms并发扫描值指定了什么?这是否意味着取消分配花费了太多时间?这可能是由于内存速度慢或可能是交换造成的吗?
暂无答案!
目前还没有任何答案,快来回答吧!