关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已采纳
java程序占用linux cpu过大,查看cpu占用最大的线程,如何看信息
展开全部
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
搬山境KL攻城狮 2021-04-22 08:10关注- man top
- # 线程下的所有进程情况
- top -p 15124 -H
- # 转换16进制进程号(例如15125对应3b15)
- printf '%x\n' 15125
- # 线程dump
- jstack -l 15124 >stack.txt
- # 对应位置为nid=0x3b15,内容如下,可以定位到具体的java方法位置
- "DestroyJavaVM" #71 prio=5 os_prio=0 tid=0x00007fa328009800 nid=0x3b15 waiting on condition [0x0000000000000000]
- java.lang.Thread.State: RUNNABLE
- Locked ownable synchronizers:
- - None
你那一块是ContainerBackgroundProcessor线程占用CPU高导致的,可以参考下这篇博客
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2017-08-14 23:57回答 2 已采纳 一个是这个数据量是不是很大,然后就是元素个数是否很多,这样可能会导致读取处理的时候消耗很多CPU
- 2017-03-16 05:11回答 2 已采纳 Java线程是在JVM进程中调度的,操作系统是基于线程调度的,所以多个线程会在多核上进行调度。
- 2019-11-26 08:09回答 1 已采纳 有可能是系统环境出了问题,可以看看这篇:http://blog.sina.com.cn/s/blog_9c4e90210102xyzy.html 看这控制台,像是虚拟机吧,如果不是前面这种情况,可以
- 2015-12-11 09:40当用户量过大,或服务器性能不足以支持大用户量,但同时又得不到扩容的情况下,进行性能分析,并对系统、应用、程序进行优化显得尤为重要,也是节省资源的一种必不可少的手段。目前大多数运维产品都基于JAVA语言开发...
- 2017-06-20 05:15回答 2 已采纳 主要应该是内存小,建议增加内存,软件方面只能是把服务里不需要的暂时关闭,然后一般的杀毒软件都可以清理运行内存
- 2017-08-12 04:31回答 4 已采纳 首先,,线程只要活着,,就三种状态,就绪,阻塞,运行 运行,,cpu同一时间只能运行一个线程,,所以不可能是运行 阻塞,,被强占资源会首先变为阻塞状态(如果了解操作系统的话,会有个阻塞队列的概
- 2016-12-19 01:35回答 1 已采纳 Java进程之间通讯有好几种方式,可以使用序列化方式调用,也可以用RMI的方式。
- 2022-06-10 03:28在Linux服务器环境中,Java应用程序可能由于各种原因导致CPU使用率过高,这可能会影响系统的整体性能。要找到占用CPU高的Java代码,我们可以采取一系列步骤来诊断和优化问题。以下是一种详细的方法: 1. **查看系统...
- 2019-06-26 06:52回答 1 已采纳 这不是死锁的问题吗,看一下程序有没有互相持有对方的锁不释放
- 2021-05-11 08:13回答 1 已采纳 一个连接一个session,链接数量和每个连接发送数据的大小有关系,java线程的创建和销毁是很好资源的,建议使用线程池,基于内存的消息队列是最快的,kafka是面向大数据的可以配置个多消息分区和消费
- 2019-05-25 13:30回答 3 已采纳 现在的操作系统都是抢占式的,换一句话说,就算你只有1个cpu,当一个线程执行超过一段时间,操作系统都会强迫它终止,并且调度别的线程执行。 当然别的线程能多大限度上得到调度,这个取决于线程的优先级,如
- 2021-05-11 22:03KK大魔王的博客 分几步骤:1、通过top,查出占用CPU过高的java进程 ,比如: pid :66662、通过ps -mp 6666 -o THREAD,tid,time| sort -n -k1 -r 查看此进程占用线程的情况,比如查到占用CPU异常高的线程的线程Id :8888以上两步,...
- 2020-09-04 02:35总结来说,本文档介绍的方法可以有效地帮助管理员或者开发者在Linux环境中监控Java应用程序的CPU使用情况,通过分析线程级别的CPU占用,快速定位并解决性能瓶颈。这种方法不仅适用于问题排查,也是日常性能监控中...
- 2021-03-03 22:11阚发景的博客 可以用下面的命令将 cpu 占用率高的线程找出来:ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu这个命令首先指定参数'H',显示线程相关的信息,格式输出中包含:user,pid,ppid,tid,time,%cpu,cmd,然后再用%...
- 2020-10-14 10:47在开发和运维过程中,有时会遇到Java应用的性能问题,如线程CPU占用过高或者线程死锁。这时,我们就需要用到JVM提供的工具,如`jstack`,来帮助诊断和解决问题。 `jstack` 是JDK自带的一个命令行工具,它能够打印出...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司