首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CPU占用过高定位?

比如问你常用的5个linux命令你可以说top(整机),vmstat(CPU),free(内存),df(硬盘),iostat (磁盘IO),ifstat(网咯IO)等... ?...token=07193d87b188531f 下面来做个实战的测试,当xian线上遇到CPU占用过高怎么排查,如果是在面试的时候面试官这么问你的话,你回答查看下日志或者根据出错问题查看下百度,那么在面试官那你的印象将不会得到很好的认可...接下一个老方法和旧方法 旧方法:jstack 进程ID | grep tid(16进制线程ID小写英文) -A60(老方法) 但对我现在的服务器好像不太使用所以我使用了个新方法 新方法:jstack...当然一般的代码程序出错我们可以直接用 ps -ef|grep 启动程序名,但是对于CPU占用过高的排查还是需要一定的手段和实战经验的。 每天 进步一点点

2.4K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CPU占用过高排查

    一.简介 最近一段时间 某台服务器上的一个应用总是隔一段时间就自己挂掉 用top看了看 从重新部署应用开始没有多长时间CPU占用上升得很快 排查步骤 1.使用top 定位到占用CPU高的进程PID top...2.通过ps aux | grep PID命令 获取线程信息,并找到占用CPU高的线程 ps -mp pid -o THREAD,tid,time | sort -rn 3.将需要的线程ID转换为16...printf "%x\n" tid 4.打印线程的堆栈信息 到了这一步具体看堆栈的日志来定位问题了 jstack pid |grep tid -A 30 二.例子 1.top 可以看出PID 733进程 的占用...CPU 172% 2.查找进程733下的线程 可以看到TID 线程775占用了96%且持有了很长时间 其实到这一步基本上能猜测到应该是 肯定是那段代码发生了死循环 ps -mp 733 -o THREAD

    4K30

    cpu占用过高排查

    简介 最近一段时间 某台服务器上的一个应用总是隔一段时间就自己挂掉 用top看了看 从重新部署应用开始没有多长时间CPU占用上升得很快 排查步骤 # 1.使用top 定位到占用CPU高的进程PID...top # 2.通过ps aux | grep PID命令 获取线程信息,并找到占用CPU高的线程 ps -mp pid -o THREAD,tid,time | sort -rn # 3.将需要的线程...printf "%x\n" tid # 4.打印线程的堆栈信息 到了这一步具体看堆栈的日志来定位问题了 jstack pid |grep tid -A 30 案例 1.top可以看到PID733进程的占用...显然是 SmsQueueServiceImpl 中的produceMissSms 和 consumeMissSms 方法有问题 最后注释掉那段循环代码,cpu占用就正常了,也有可能是因为频繁GC导致CPU...占用过高

    2.4K51

    Tomcat占用CPU过高解决方法

    问题描述 在工作中经常遇到Tomcat占用CPU居高不下,top显示结果超过200%,请求无法响应,针对这种情况有以下处理办法进行排查。请求无法响应。...命令可以快速查出jvm进程 jps pid 2、查看jstack信息 jstack pid 3、将十进制pid转换为16进制 将十进制转换成16进制 # printf "%x\n" 19713-->将第2步查到占用较高...通过上述方法,查出tomcat进程对应的线程cpu占用率累积之和约80%,远小于top给出的200%+ 说明并不存在长期占用cpu的线程,应该是属于有许多短暂性的cpu密集计算。...进而怀疑是不是jvm内存不足,频繁gc导致。 jstat -gc pid 发现jvm内存使用并未出现异常,gc次数明显暴涨 查完内存,由于本身是一个网络程序,进一步排查网络连接。...不是什么好东西,此项出现,检查是否被***) TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认 CLOSED:没有任何连接状态 解除Tomcat中POST方式上传文件的大小限制 当服务器

    3.1K10

    w3wp占用CPU过高

    就可以看到占用内存或者 cpu 最高的进程 pid ! 2 在命令提示符下运行 iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。...2 设置应用程序池的CPU监视,不超过25%,每分钟刷新,超过限制时自动关闭。 注:此方法只能用来做为测试,在真正的环境下,这个可能会引起网站时好时坏。不推荐长期使用。...注:方法是先停止IIS,再删除当天的网站日志(系统路径\System32\Logfiles\对应的网站目录下),然后开启IIS,等待CPU占用的出现,这时在1分钟内打开新建的日志文件,按出现时间,对应检查里面所罗列出现的文件...注:有些写得不好的 ASP 程序,在访问数据库无法做到容错性,所以有些时候数据库损坏或者 ODBC 传送数据不正常,都有可能造成多次强制查询,从而体现为 w3wp.exe 高 CPU 占用

    1.6K20

    golang定位内存泄露与cpu占用过高的方法与实战

    现在使用golang的项目越来越多,但是当golang发生内存泄露或cpu占用过高时,怎么定位呢?...(此方法对于代码量修改量小而言,效率是比较高的) 2、使用工具来查看golang的内存状况,从占用内存有异常的相关代码行开始查起。...2、bytes.makeSlice占用了3G内存,看了代码发现是读文件同步特征值时创建buf产生的内存,正常现象。...3、time.NewTimer占用500M,根据关联查代码,计时器不应该用这么多内存,这里是有异常的。...走读了这部分涉及计时器的代码后发现是因为有个计时器在某些场景下设置了很大的触发时间(有的场景需要比较大的触发时间),但是在正确回包后又没有及时stop掉,所以就泄露了 定位cpu占用过高的方法也是一样的

    17.3K50

    NodeJs 内存占用过高排查记录

    同时日志中偶发的看到内存不足。 扩容原因 问了运维同学查到是由于内存占用到临界值导致的扩容。 负载情况 首先排除一下是不是因为服务压力过大导致的内存占用升高,因为这可能是一种正常的负载现象。...通过监测,发现流量和 CPU 占用都不是很高,甚至可以说是很低,那么这么高的内存占用是属于不正常的现象的。...目前低版本的 socket-io 默认是开启的,于是我加了之后观察了一段时间的内存占用,并未有明显的下跌,发布后,内存占用依旧很高。...之后继续观察内存占用,结果仍旧是内存占用。...物理核心个数,因为是 2 个 cpu 所以再 *2,一共生成了 48 个‍♂️,每个 worker process 都要占用内存,所以内存占用一直居高不下。

    3.1K60

    gitlab占用cpu过高的问题(gitlab cpu消耗优化)

    问题: 公司gitlab地址访问报错502,连接所部署服务器执行top命令发现gitlab相关服务其中两个进程占用cpu一直在90%以上 思路: 一般地,资源占用过高,可以粗略地优化一下,但是效果确实非常的明显的...这里,主要是通过资源占用,然后将过高消耗资源的进程给禁用掉,并且结合官方提供的一些默认信息来调配。...解决办法: 主要调整的是限制内存的使用,调整postgresql的缓存以及进程,关闭prometheus监控。 1....开始以为是服务出了问题,实际这是一个正常的过程,此问题说明gitlab正在启动,消耗内存中,还没有启动完成!这时不要去修改端口,启动等,等待一下即可。...未经允许不得转载:肥猫博客 » gitlab占用cpu过高的问题(gitlab cpu消耗优化)

    3.8K10

    webstorm占用内存过高_python程序内存不断增加

    之前在Mac上用webstorm内存占用非常高,查看资料后通过修改webstorm.vmoptions里的配置,可以降低内存占用,现在用pycharm又遇到这个问题,就记录一下。...设置前cup占用率 查看webstorm/pycharm的占用内存配置文件,打开Finder选择Application应用程序,找到webstorm/pycharm右键,选择显示包内容...content/bin,选择webstorm/pycharm.vmoptions(有的是idea.vmoptions这个文件),双击打开,或者或者选择在记事本中打开 修改配置,一般修改前两个配置使用的内存参数...,防止卡顿或者闪退(修改阈值减少所占内存比例并不是减少内存数值),一般xms1024m xmx2048就可以windows建议xms不要超过1024,我的是mac顶配版修改如下图。

    11.4K20

    NodeJs 内存占用过高排查记录

    同时日志中偶发的看到内存不足。 扩容原因 问了运维同学查到是由于内存占用到临界值导致的扩容。 负载情况 首先排除一下是不是因为服务压力过大导致的内存占用升高,因为这可能是一种正常的负载现象。...通过监测,发现流量和 CPU 占用都不是很高,甚至可以说是很低,那么这么高的内存占用是属于不正常的现象的。...目前低版本的 socket-io 默认是开启的,于是我加了之后观察了一段时间的内存占用,并未有明显的下跌,发布后,内存占用依旧很高。...之后继续观察内存占用,结果仍旧是内存占用。...物理核心个数,因为是 2 个 cpu 所以再 *2,一共生成了 48 个‍♂️,每个 worker process 都要占用内存,所以内存占用一直居高不下。

    2.2K70
    领券