CPU 使用情况 (cpu)
场景描述:
当应用程序响应缓慢或者CPU使用率异常高时,开发者需要找出导致高CPU消耗的具体方法调用。通过监控CPU使用情况,可以识别出那些占用大量CPU时间的热点方法。
使用Arthas的步骤:
- 启动CPU profiler:
profiler start --event cpu
- 进行正常的业务操作,使系统进入高CPU消耗状态。
- 停止CPU profiler:
profiler stop
实际案例:
假设一个在线购物平台在促销期间遭遇性能瓶颈,通过监控CPU使用情况,发现订单服务中的一个复杂查询方法消耗了大量CPU资源,进一步优化该方法的查询逻辑,解决了性能问题。
内存分配情况 (alloc)
场景描述:
在应用程序出现OutOfMemoryError或频繁的垃圾回收时,了解内存分配模式和分配热点是至关重要的。内存分配情况监控可以帮助开发者找到产生大量短期对象的方法。
使用Arthas的步骤:
- 启动内存分配profiler:
profiler start --event alloc
- 执行涉及大量内存分配的操作。
- 停止内存分配profiler:
profiler stop
实际案例:
一个内容管理系统(CMS)遭遇内存泄漏,通过内存