- 浏览: 288191 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (298)
- Tomcat (3)
- ZooKeeper (1)
- Maven (11)
- opensource (1)
- DataBase (5)
- UML (8)
- linux (87)
- Java (32)
- 算法 (3)
- Redis (1)
- HBase (2)
- 产品 (1)
- 模板引擎 (1)
- Eclipse (10)
- JUnit (5)
- Log4j (8)
- XML (2)
- JSON (1)
- SpringMVC (23)
- Spring (24)
- TCP/IP (4)
- Windows (10)
- Web Service (1)
- 源码版本管理 (1)
- Word (1)
- Test (1)
- Mybatis (7)
- CentOS (2)
- 多线程 (2)
- Web (7)
- Servlet (3)
- JavaWeb (4)
- MySQL (7)
- 汇编语言 (2)
- linux Shell (4)
- GIT (4)
- Python (1)
- 并发 (4)
- 编程通用 (1)
- JavaScript (1)
- 异常 (3)
- 自动化部署 (1)
- 大数据 (1)
- hive (2)
- 文本编辑器 (2)
- MINA (0)
- intellij IDEA (9)
- masm (0)
- blockchain (1)
- docker (2)
- IDEA (0)
- GO (3)
- nginx (1)
- springBoot (3)
- Websocket (2)
- macOS (1)
最新评论
-
woodding2008:
ss –pl 可以查看监听方式启动的端口以及pid
根据端口查PID,根据PID查进程名称 -
masuweng:
恩很试用,也很常用。
linux 常用命令
https://my.oschina.net/u/1385143/blog/176554
jinfo:可以输出并修改运行时的java 进程的opts。
jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。
jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
jmap:打印出某个java进程(使用pid)内存内的所有'对象'的情况(如:产生那些对象,及其数量)。
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。
详细:在使用这些工具前,先用JPS命令获取当前的每个JVM进程号,然后选择要查看的JVM。
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。
jstat -class pid:显示加载class的数量,及所占空间等信息。
jstat -compiler pid:显示VM实时编译的数量等信息。
jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。
jstat -gcnew pid:new对象的信息。
jstat -gcnewcapacity pid:new对象的信息及其占用量。
jstat -gcold pid:old对象的信息。
jstat -gcoldcapacity pid:old对象的信息及其占用量。
jstat -gcpermcapacity pid: perm对象的信息及其占用量。
jstat -util pid:统计gc信息统计。
jstat -printcompilation pid:当前VM执行的信息。
除了以上一个参数外,还可以同时加上 两个数字,如:jstat -printcompilation 3024 250 6是每250毫秒打印一次,一共打印6次,还可以加上-h3每三行显示一下标题。
jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。
命令:jmap -dump:format=b,file=heap.bin <pid>
file:保存路径及文件名
pid:进程编号
•jmap -histo:live pid| less :堆中活动的对象以及大小
•jmap -heap pid : 查看堆的使用状况信息
jinfo:的用处比较简单,就是能输出并修改运行时的java进程的运行参数。用法是jinfo -opt pid 如:查看2788的MaxPerm大小可以用 jinfo -flag MaxPermSize 2788。
jconsole是一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。使用方法:命令行里打 jconsole,选则进程就可以了。
JConsole中关于内存分区的说明。
Eden Space (heap): 内存最初从这个线程池分配给大部分对象。
Survivor Space (heap):用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。
Tenured Generation (heap):用于保持已经在 survivor space内存池中存在了一段时间的对象。
Permanent Generation (non-heap): 保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的,
Code Cache (non-heap):HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache)
•jstack ( 查看jvm线程运行状态,是否有死锁现象等等信息) : jstack pid : thread dump
•jstat -gcutil pid 1000 100 : 1000ms统计一次gc情况统计100次;
另外推荐一款查看jmap dump 的内存对象工具 MemoryAnalyzer
网址:http://www.eclipse.org/mat/,可以查看dump时对象数量,内存占用,线程情况等。
jinfo:可以输出并修改运行时的java 进程的opts。
jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。
jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
jmap:打印出某个java进程(使用pid)内存内的所有'对象'的情况(如:产生那些对象,及其数量)。
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。
详细:在使用这些工具前,先用JPS命令获取当前的每个JVM进程号,然后选择要查看的JVM。
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。
jstat -class pid:显示加载class的数量,及所占空间等信息。
jstat -compiler pid:显示VM实时编译的数量等信息。
jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。
jstat -gcnew pid:new对象的信息。
jstat -gcnewcapacity pid:new对象的信息及其占用量。
jstat -gcold pid:old对象的信息。
jstat -gcoldcapacity pid:old对象的信息及其占用量。
jstat -gcpermcapacity pid: perm对象的信息及其占用量。
jstat -util pid:统计gc信息统计。
jstat -printcompilation pid:当前VM执行的信息。
除了以上一个参数外,还可以同时加上 两个数字,如:jstat -printcompilation 3024 250 6是每250毫秒打印一次,一共打印6次,还可以加上-h3每三行显示一下标题。
jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。
命令:jmap -dump:format=b,file=heap.bin <pid>
file:保存路径及文件名
pid:进程编号
•jmap -histo:live pid| less :堆中活动的对象以及大小
•jmap -heap pid : 查看堆的使用状况信息
jinfo:的用处比较简单,就是能输出并修改运行时的java进程的运行参数。用法是jinfo -opt pid 如:查看2788的MaxPerm大小可以用 jinfo -flag MaxPermSize 2788。
jconsole是一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。使用方法:命令行里打 jconsole,选则进程就可以了。
JConsole中关于内存分区的说明。
Eden Space (heap): 内存最初从这个线程池分配给大部分对象。
Survivor Space (heap):用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。
Tenured Generation (heap):用于保持已经在 survivor space内存池中存在了一段时间的对象。
Permanent Generation (non-heap): 保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的,
Code Cache (non-heap):HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache)
•jstack ( 查看jvm线程运行状态,是否有死锁现象等等信息) : jstack pid : thread dump
•jstat -gcutil pid 1000 100 : 1000ms统计一次gc情况统计100次;
另外推荐一款查看jmap dump 的内存对象工具 MemoryAnalyzer
网址:http://www.eclipse.org/mat/,可以查看dump时对象数量,内存占用,线程情况等。
发表评论
-
彻底理解ThreadLocal
2019-06-24 21:14 298https://www.cnblogs.com/xzwblog ... -
java异步任务处理
2018-09-03 11:35 776from: https://www.cnblogs.com/ ... -
Java多线程编程(3)-对象共享
2018-01-12 17:31 3351 可见性 (1)失效数据 (2)非原子的64位操作 (3)加 ... -
Java多线程编程 - 前言
2018-01-01 17:56 0记录自己学习多线程点点滴滴。 很多书籍写的理论性比较多,重复 ... -
深入理解并发之CompareAndSet(CAS)
2017-12-30 21:55 527http://flychao88.iteye.com/blog ... -
Java中堆内存和栈内存详解
2017-12-24 11:12 0https://www.cnblogs.com/iliuyue ... -
查看class文件的jdk版本
2017-11-14 22:34 584准备好要查看的class文件,本例使用Tools ... -
mave打包编译java生成的jdk版本 / Maven项目在刷新/导入项目时jdk版本过低的解决方案
2017-08-31 21:23 10001 pom.xml 决定代码版本 <plugin> ... -
Java安全框架—Shiro Apache 的孵化器项目Shiro其前身是JSecurity
2017-01-02 23:34 360from http://blog.csdn.net/pete ... -
Lombok 安装、入门 - 消除冗长的 java 代码
2016-12-26 16:30 388from: http://www.blogjava.net/f ... -
线程池系列三:结合线程池实现Socket
2016-12-23 21:03 963from : http://zy116494718.itey ... -
线程池系列二:ThreadPoolExecutor讲解
2016-12-23 21:02 548from: http://zy116494718.iteye ... -
线程池系列一:线程池作用及Executors方法讲解
2016-12-23 21:01 1206from : http://zy116494718.i ... -
applicationContext.xml 和 springmvc-servlet.xml 配置文件加载顺序
2016-12-20 15:32 761applicationContext.xml是随Context ... -
linux下分析Java程序内存汇总
2016-12-05 08:56 827http://blog.csdn.net/zlzlei/ar ... -
使用JMAP dump及分析dump文件
2016-12-05 08:50 1513from http://www.cnblogs.com/ ... -
Netty
2016-11-18 09:48 449Netty是由JBOSS提供的一个java开源框架。Netty ... -
常见Java Web 容器比较 (tomcat、 jboss 、resin、 weblogic、 websphere、 glassfish)
2016-11-08 14:55 2691web 容器比较 tomcat jboss resin web ... -
Spring加载resource时classpath*:与classpath:的区别
2016-10-19 10:14 946from : http://blog.csdn.net/ ... -
Java web工程web.xml 配置中classpath: 与classpath*:的区别
2016-10-19 10:13 406首先 classpath是指 WEB-INF文件夹下的clas ...
相关推荐
第二节:JVM内存模型 1.1 概念 1.2 JVM内存模型 1.3 Heap堆内存模型 第三节:定位垃圾对象的依据 1.1 引用计数法 1.2 可达性算法 第四节:垃圾回收算法 1.1标记清除算法 1.2复制算法 1.3 标记整理(标记压缩)...
java内存泄露查询的几个命令系统命令的使用说明
- 掌握jvm的内存模型(堆内存) - 掌握jamp命令的使用以及通过MAT工具进行分析 - 掌握定位分析内存溢出的方法 - 掌握jstack命令的使用 - 掌握VisualJVM工具的使用 - 了解什么是垃圾回收 - 掌握垃圾会回收的常见算法 ...
当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。 public class Math { public static final int initData = 666; public static User user = new User(); public int ...
内容概要 本教程详细介绍了JVM(Java虚拟机)的结构、类型和编译器模式、参数分类、即时编译器(JIT)诊断工具、垃圾回收机制...工具和命令:使用 -XX:+PrintCompilation、-XX:+UseCodeCacheFlushing 等监控和调试JVM。
添加:JAVA_OPTS=’-Xms512m -Xmx1024m’ 或者 JAVA_OPTS=”-server -Xms800m -Xmx800m -XX:MaxNewSize=256m” 或者 CATALINA_OPTS=”-server -Xms256m -Xmx300m” Windows服务器: 在/apache-tomcat-5.5.23/bin ...
主要是Java后端的,16K左右的,涉及SE、WEB、三大框架SSM、springboot、MQ、数据库、springcloud、JVM、Redis、多线程、hashmap的底层、面试技巧等 SSM涉及浅层的底层,如IOC、AOP,专为没看过源码的人应付面试准备...
第2章 Java内存区域与内存溢出异常 / 24 2.1 概述 / 24 2.2 运行时数据区域 / 25 2.2.1 程序计数器 / 25 2.2.2 Java虚拟机栈 / 26 2.2.3 本地方法栈 / 27 2.2.4 Java堆 / 27 2.2.5 方法区 / 28 2.2.6 运行...
VM JVM Javac Java 本题分值: 5.0 用户得分: 5.0 用户解答: JVM 知识点: 2.3 Java开发环境与工具 8. 在Java程序设计语言中,所有源代码写在一个扩展名是( )的纯文本文件里。 .jar .doc .class ....
有一点需要注意:java -Xmx***M version 命令来测试的最大堆内存是 -Xmx与 -XX:PermSize的 和 比如系统支持最大的jvm堆大小事1.5G,那 -Xmx1024m -XX:PermSize=768M 是无法运行的。 第三种:无法创建新的线程。 ...
IBM的heapanalyzer,可以分析dump出的JVM内存快照。在命令行中,进入到jar文件所在目录,输入命令java -Xmx3000m -jar ha456.jar运行。
JVM全称是Java Virtual Machine,Java虚拟机,也就是在计算机上再虚拟一个计算机,这和我们使用 VMWare不一样,那个虚拟的东西你是可以看到的,这个JVM你是看不到的,它存在内存中。我们知道计算机的基本构成是:...
底层的功臣:JVM = java虚拟机 = 1 + 2 + 3 = 秘书 + 保镖 + 翻译 = 秘书 = 类加载器 = ClassLoader = 保镖 = 字节码校验器 = ByteCode Verifier = 翻译 = 解释执行器 = Interfreter 2:安全 健壮 电力 电信 ...
gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。 在充分理解了...
安装相应平台上的Java虚拟机(JVM)。 读者可以到www.sun.com下载JDK 1.5的相应版本,安装并配置Path之后即可达到运行要求,Windows下的配置方法请参照第1章。 书中的案例可以跨平台运行。 3. 编译提示 (1) 有使用...
Java编译语言将Java代码编译成.class文件(只有一种形式),而C/C++语言将代码编译成01码,不同的操作系统的01码指令不同,这造成了不能跨平台,而Java将这个任务交给JVM,不同操作系统上的JVM将.class文件编译成不同...
这个参数需要看你的实际情况,可以通过jmap命令看看到底需要多少。 e: -XX:MaxPermSize= 指定Perm Generation的最大值,如:-XX:MaxPermSize=64m f: -Xss 指定线程桟大小,如:-Xss128k,一般来说,webx框架下的应用...
Java常用调优命令和工具 JVM调优相关 JVM常见参数 堆栈相关 -Xss 调整线程栈大小。 -Xms 设置堆内存初始化大小。 -Xmx / -XX:MaxHeapSize=? 设置堆内存最大值。 -Xmn / -XX:NewSize=? 设置新生代大小。 -XX:...
jvm知识点总览(类的加载机制+内存结构+GC算法 垃圾回收+GC分析 命令调优);jvm知识点总览(类的加载机制+内存结构+GC算法 垃圾回收+GC分析 命令调优);jvm知识点总览(类的加载机制+内存结构+GC算法 垃圾回收+GC...
1.问题提出的背景 Doris集群的角色分为FE和BE。在存储层面FE负责存储和维护集群的元数据。...2.1通过jmap-histo:live统计当前JVM堆内对象信息执行"jmap-histo:live pid"命令可以查看堆内对象的统计信息。具体实战