![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
其他
文章平均质量分 87
黄国攀
生则顺其所牧,死则安息主怀
展开
-
CMS GC过程
一.什么是CMS收集器CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上**-XX:+UseConcMarkSweepGC** ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。二.CMS工作步骤初始标记(STW initial mark)并发标记(Concurrent marking)并发预清理(Concurrent preclea原创 2021-01-20 22:01:44 · 4741 阅读 · 1 评论 -
压测时cpu不高,load average过高的问题排查及解决方法
一.背景说明这次代码新增了入参解密,出参加密,然后压测过不了,接口响应时间超过公司规定了,遂排查之,然后做个记录。二.排查过程方式一:打印耗时日志1.怀疑是加解密算法太耗时,我们是采用RSA+AES的方式;所以先补日志,在代码前后打印耗时。2.最终看日志发现在将流转换为String耗时比较多,应该是普通io的操作是阻塞的,io的read和write需要阻塞读或者写,在高并发的情况下, 响应不过来。这种方式比较反锁,而且在修改比较多的情况,需要补大量日志,不是很方便,建议采用第二种方式。方式二原创 2021-01-19 14:51:31 · 16212 阅读 · 0 评论