jstack怎么分析线程状态(jstack查看线程卡住情况)

技术如何通过top 和 jstack 确定哪些线程耗尽CPU本篇文章给大家分享的是有关如何通过top 和 jstack 确定哪些线程耗尽CPU,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,

这篇文章是关于如何确定哪些线程通过top和jstack耗尽了CPU。边肖觉得很实用,就分享给大家学习一下。希望你看完这篇文章能有所收获。让我们和边肖一起看看。

背景

在线集群负载会突然飙升,CPU利用率会达到100%,无法响应正常请求,然后服务器就会宕机。

那么导致负载激增的线程到底在做什么呢?哪些线程占用CPU?您可以通过top和jstack命令进行定位。

定位步骤

1.top找出占用高CPU的进程PID。

如何通过top  和 jstack  确定哪些线程耗尽CPU

2.top -p PID -H命令找出进程中占用CPU最高的线程。

3.根据线程ID(需要从十进制转换为十六进制),从线程栈中找出第二步找到的线程。

printf0x%x 43845

如何通过top  和 jstack  确定哪些线程耗尽CPU

4.命令打印出线程堆栈

如何通过top  和 jstack  确定哪些线程耗尽CPU

发现大量GC线程正在运行。

为什么是GC线程?

最后的定位问题是调用数据库查询方法List queryForList(Query query)拉取大量数据集加载到内存中,这些数据集还是小数据。小数据最初是通过JVM加载到年轻一代的,但是年轻一代的内存很快就满了,数据是通过JVM yongGC传输到老一代的。但是老一辈的内存也很快被填满,使用了JVM满GC,导致雪崩,内存利用率100%,CPU利用率100%。

以上是如何通过top和jstack确定哪些线程用完了CPU。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144632.html

(0)

相关推荐

  • relationship,relationship的翻译

    技术relationship,relationship的翻译relationship 英[rɪˈleɪʃnʃɪp] 美[rɪˈleʃənˌʃɪp] n. 关系; 联系; 浪漫关系; 血缘关系;

    生活 2021年10月25日
  • css3翻转效果(在css中可以实现旋转效果的属性)

    技术css3如何实现元素左右翻转这篇文章主要介绍了css3如何实现元素左右翻转,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    攻略 2021年12月16日
  • 酸菜素馅饺子都放啥,素酸菜粉条饺子馅怎么调

    技术酸菜素馅饺子都放啥,素酸菜粉条饺子馅怎么调酸菜在我们的饮食中是开胃小菜、下饭菜酸菜素馅饺子都放啥,也可以作为调味料来制作菜肴,酸菜配上粉条做成水饺,味道真的好极了。今天不做肉的饺子,就做素的“酸菜粉条饺子”,要多包一

    生活 2021年11月1日
  • 6组-Alpha冲刺-总结

    技术6组-Alpha冲刺-总结 6组-Alpha冲刺-总结组长博客链接:https://www.cnblogs.com/GuoHail/p/15586232.html
    一、基本情况
    组长博客链接:htt

    礼包 2021年11月22日
  • PostgreSQL物理备份工具pg_rman目怎么用

    技术PostgreSQL物理备份工具pg_rman目怎么用这篇文章给大家分享的是有关PostgreSQL物理备份工具pg_rman目怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。OS:

    攻略 2021年11月25日
  • 弄的多音字组词,“弄”字的多音字组词有哪些

    技术弄的多音字组词,“弄”字的多音字组词有哪些弄巧成拙、嘲弄、班门弄斧、舞文弄法、弄虚作假、卖弄、戏弄弄的多音字组词。1、弄巧成拙[ nòng qiǎo chéng zhuō ] 本想耍弄聪明,结果做了蠢事。
    2、嘲弄[

    生活 2021年10月24日