java命令--Java进程消耗CPU过高 发表于 2020-07-25 | 分类于 JVM | 我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。第一步先找出Java进程ID,我部署在服务器上的Java应用名称为mrf-center: 12root@ubuntu:/# ps -ef | grep mrf ... 阅读全文 »
java命令--jmap 发表于 2020-07-25 | 分类于 JVM | jmap是JDK自带的工具软件,主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。可以使用jmap生成Heap Dump。 什么是堆Dump堆Dump是反应Java堆使用情况的内存镜像,其中主要包括系统信息、虚拟机属性、完整的线程Dump、所有类和对象的状态等 ... 阅读全文 »
java命令--jps 发表于 2020-07-25 | 分类于 JVM | jps位于jdk的bin目录下,其作用是显示当前系统的java进程情况,及其id号。jps仅查找当前用户的Java进程,而不是当前系统中的所有进程。 位置我们知道,很多Java命令都在jdk的JAVA_HOME/bin/目录下面,jps也不例外,他就在bin目录下,所以,他是java自带的一个命 ... 阅读全文 »
java命令--jstack 发表于 2020-07-25 | 分类于 JVM | stack是java虚拟机自带的一种堆栈跟踪工具 功能jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。 线程出现停顿的时 ... 阅读全文 »
JVM---内存区域 发表于 2020-07-25 | 分类于 JVM | 程序计数器 Java虚拟机栈 本地方法栈 Java堆 方法区 运行时常量 直接内存 总结 " 程序计数器 程序计数器可以视为当前线程所执行的字节码行号指示器。 每条线程都有独立的计数器,保证线程切换恢复正确位置,因此程序计数器这一块内存区域是线程隔离的。该区域是唯一一个没有规定任何OutOf ... 阅读全文 »