java问题排查命令
jps
:查看java进程jmap
:导出堆详细信息
(与jhat
一起使用)jhat
:分析Java堆
的命令(与jmap
一起使用)jstack
:可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。
通常结合 ps
、top
、printf
、grep
命令使用。
printf "%x\n" 21742
得到21742的十六进制值为54ee。
dump 文件里,值得关注的线程状态有:
- 死锁,
Deadlock
(重点关注)- 执行中,Runnable
- 等待资源,
Waiting on condition
(重点关注)- 等待获取监视器,
Waiting on monitor entry
(重点关注)- 暂停,Suspended
- 对象等待中,Object.wait() 或 TIMED_WAITING
- 阻塞,
Blocked
(重点关注)- 停止,Parked
jinfo
:输出并修改运行时的java 进程的opts,用于输出JAVA系统参数及命令行参数jstat
:用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计
- 类的加载及卸载情况
- 查看新生代、老生代及持久代的容量及使用情况
- 查看新生代、老生代及持久代的垃圾收集情况,包括垃圾回收的次数及垃圾回收所占用的时间
- 查看新生代中Eden区及Survior区中容量及分配情况等
Option | Displays... |
---|---|
class | 用于查看类加载情况的统计 |
compiler | 用于查看HotSpot中即时编译器编译情况的统计 |
gc | 用于查看JVM中堆的垃圾收集情况的统计 |
gccapacity | 用于查看新生代、老生代及持久代的存储容量情况 |
gccause | 用于查看垃圾收集的统计情况(这个和-gcutil选项一样),如果有发生垃圾收集,它还会显示最后一次及当前正在发生垃圾收集的原因。 |
gcnew | 用于查看新生代垃圾收集的情况 |
gcnewcapacity | 用于查看新生代的存储容量情况 |
gcold | 用于查看老生代及持久代发生GC的情况 |
gcoldcapacity | 用于查看老生代的容量 |
gcpermcapacity | 用于查看持久代的容量 |
gcutil | 用于查看新生代、老生代及持代垃圾收集的情况 |
printcompilation | HotSpot编译方法的统计 |
java问题排查命令的更多相关文章
-
java问题排查总结
前些天发现:http://hellojava.info/这个站点,关于java问题排查分析总结线上故障总结其实是最有价值的,好的总结就是一个系统演进历史,是团队难得的积累沉淀. 花了不少时间看了下,顺 ...
-
Java死锁排查和Java CPU 100% 排查的步骤整理
================================================= 人工智能教程.零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助! 点击查看高清无码教程 == ...
-
java与javac命令的功用
一.javac用来编译java程序,比如说我写了一个Server.java文件,首先通过命令行进入.java文件所在的路径, 然后通过输入 javac Server.java 命令行来完成编译,编译之 ...
-
Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
-
Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
-
java cmd常用命令
熟悉Java的常用命令 面试例题11:使用jar命令. 请使用jar命令,将test文件夹压缩成.jar文件,并简述其压缩包的结构. 考点:对于Java程序员来说,更多情况下是使用集成Java开发工具 ...
-
解析android framework下利用app_process来调用java写的命令及示例
解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是b ...
-
Java 编译打包命令
背景 编译 打包 解压 运行 参考 背景 我们有的时候总是要使用将自己写的工程编译成 class 文件,同时打包成 jar,虽然有各种工具可以帮助我们,但是毕竟掌握使用 java 本来的命令去做这些更 ...
-
搭建rtmp直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令)
欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) 一.环境搭建 1.安装ffmpeg 下载对应系统的ffmpeg安装包,个人采用windows平台进行开发,所以安装了windo ...
随机推荐
-
序列流 SequenceInputStream
SequenceInputStream:序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末 ...
-
深入浅出设计模式——迭代器模式(Iterator Pattern)
模式动机 一个聚合对象,如一个列表(List)或者一个集合(Set),应该提供一种方法来让别人可以访问它的元素,而又不需要暴露它的内部结构.针对不同的需要,可能还要以不同的方式遍历整个聚合对象,但是我 ...
-
redis问题
phalcon 在读取数据的时候如果说reids数据库没有连接成功的话,则会显示一下错误:
-
textarea文本换行和页面显示换行符
在textarea里写的文本有换行,但是显示到页面后就不会自动换行,通过对数据分析发现textarea里的换行符是\n\r,然而HTML中的换行为<\br>解决办法有两种: 第一种:把文本 ...
-
03-树2 List Leaves
二叉树及其遍历 一遍AC,挺开心的hhh~ 简单讲下思路:叶子,顾名思义就是没有左右子树的结点.由于题目要求,叶子结点的输出顺序是从上往下,从左往右.所以用层序遍历法. 当然,这里先找到root树的根 ...
-
hdu5548
2015ACM/ICPC亚洲区上海站LCM WALK 题意:定义了一种走法,就是从当前的点为sx,sy,可以走到ex,ey;并且ex = sx + z,或者 ey = sy + z, 其中z为lcm( ...
-
获取apk项目的MD5值和SHA1值
一些可说可不说的话: * 以前有一个更简单的方法,在as的右边工具栏的 gradle 面板中可以很方便的获取到: * 上次用也是在2年前,时间长了给忘记了,不过我记得我当时写了笔记,这会笔记不在身边, ...
-
对于DFT频谱泄漏问题的研究
问题简介: 对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱.但是,在实际利用DFT求它的频谱时,对时域做了截断,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱 ...
-
转载 互斥体与互锁 <;第五篇>;
互斥体实现了“互相排斥”(mutual exclusion)同步的简单形式(所以名为互斥体(mutex)).互斥体禁止多个线程同时进入受保护的代码“临界区”.因此,在任意时刻,只有一个线程被允许进入这 ...
-
高并发架构技术|缓存失效、缓存穿透问题 PHP 代码解决
问题描述 缓存失效: 引起这个原因的主要因素是高并发下,我们一般设定一个缓存的过期时间时,可能有一些会设置5分钟啊,10分钟这些:并发很高时可能会出在某一个时间同时生成了很多的缓存,并且过期时间在同一 ...