系统cpu飙升的原因查询记录

本文介绍了在生产环境中遇到CPU使用率异常升高问题的排查步骤,包括使用`top`命令定位进程,通过`jstat`监控Java应用的GC状态,最终发现是由于大量字符串拼接操作导致。建议在进行字符串拼接时避免使用`+`操作,改用`StringBuffer`以提升性能,尤其是在循环中。
摘要由CSDN通过智能技术生成

前言

自己在项目中需要的一个问题,很常见,如果平时不注意,日常环境运行还OK,但是到了生产环境就出现cpu飙升异常.

问题排查

  1. 首先登录服务器 用 top命令看下那个cpu使用率最高. 找到对应的pid .
    2.jstat 一个极强的一个VM监控工具;jstat -gcutil pid 可以查看对应该id进程的gc所有状况.
    3.然后定位到时一段代码 for 循环引起的异常.

在for循环中进行字符串拼接 用 String str="_"+name; 用 + 来拼接起来的,循环次数越多,性能指数倍下降。 所以 这中情况下 要 用 StringBuffer,不然会引起cpu飙升。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值