这个命令对于查看Jvm的堆栈信息很有用。能够查看eden,survivor,old,perm等heap的capacity,utility信息
对于查看系统是不是有能存泄漏以及参数设置是否合理有不错的意义
2. jstack
这个是用来查看jvm当前的thread dump的。可以看到当前Jvm里面的线程状况。
这个对于查找blocked线程比较有意义
3. jmap .
这个是用来查看jvm当前的heap dump的。可以看出当前jvm中各种对象的数量,所占空间等等。
尤其值得一提的是这个命令可以到处一份binary heap dump的bin文件,这个文件能够直接用
Eclipse Memory Anayliser来分析,并找出潜在的内存泄漏的地方。
4. 还有一个比较有用的非jvm命令--netstat
通过这个命令可以看到linux系统当前在各个端口的链接状态,比如查看数据库连接数等等
jstat
1. jstat -gc pid
可以显示gc的信息,查看gc的次数,及时间。
其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
2.jstat -gccapacity pid
可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,
如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,
PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。
其他的可以根据这个类推, OC是old内纯的占用量。
3.jstat -gcutil pid
统计gc信息统计。
4.jstat -gcnew pid
年轻代对象的信息。
5.jstat -gcnewcapacity pid
年轻代对象的信息及其占用量。
6.jstat -gcold pid
old代对象的信息。
7.stat -gcoldcapacity pid
old代对象的信息及其占用量。
8.jstat -gcpermcapacity pid
perm对象的信息及其占用量。
9.jstat -class pid
显示加载class的数量,及所占空间等信息。
10.jstat -compiler pid
显示VM实时编译的数量等信息。
11.stat -printcompilation pid
当前VM执行的信息。
一些术语的中文解释:
S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC:年轻代中Eden(伊甸园)的容量 (字节)
EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
OC:Old代的容量 (字节)
OU:Old代目前已使用空间 (字节)
PC:Perm(持久代)的容量 (字节)
PU:Perm(持久代)目前已使用空间 (字节)
YGC:从应用程序启动到采样时年轻代中gc次数
YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
FGC:从应用程序启动到采样时old代(全gc)gc次数
FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
NGCMN:年轻代(young)中初始化(最小)的大小 (字节)
NGCMX:年轻代(young)的最大容量 (字节)
NGC:年轻代(young)中当前的容量 (字节)
OGCMN:old代中初始化(最小)的大小 (字节)
OGCMX:old代的最大容量 (字节)
OGC:old代当前新生成的容量 (字节)
PGCMN:perm代中初始化(最小)的大小 (字节)
PGCMX:perm代的最大容量 (字节)
PGC:perm代当前新生成的容量 (字节)
S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
O:old代已使用的占当前容量百分比
P:perm代已使用的占当前容量百分比
S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)
S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)
ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)
DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)
TT: 持有次数限制
MTT : 最大持有次数限制
jstack
jmap
相关推荐
1. jstatd:是一个监控服务,它在目标机器上创建一个RMI(远程方法调用)注册表,并使用这个注册表来监听JVM进程的创建和终止。其他工具如jvisualvm可通过它来远程连接并监控JVM进程。 2. jps:用于显示在本地或...
在开始使用Elasticsearch之前,还需要了解几个关键概念:索引(Index)、类型(Type)、文档(Document)和字段(Field)。索引类似于数据库中的表,类型是索引中的逻辑分类,文档是存储的基本单元,字段则是文档内...
- **未来预测**:预计未来几年内,Linux专业人才的需求将持续增长,特别是具备丰富经验和技能的高级工程师将更加稀缺。 #### 二、Linux系统篇 ##### 2.1 Linux系统管理 - **目录结构**:了解Linux系统的文件组织...
在深入探讨Linux环境下的Java开发与部署之前,让我们先明确几个关键概念。Java作为一种跨平台的编程语言,其核心优势在于“一次编写,到处运行”的理念,而这正是通过Java虚拟机(JVM)实现的。然而,在不同的操作...
本知识包针对的是CentOS系统,一个广泛使用的Linux发行版,提供了几个关键的组件来帮助用户快速搭建开发或生产环境。以下是这些组件的详细说明: 1. **JDK (Java Development Kit) 8.131**: JDK是Java编程语言的...
在Linux 64位环境下安装JDK 1.7的步骤通常包括以下几个部分: 1. **下载**:首先从Oracle官方网站或其他可信源下载"jdk-7u80-linux-x64.tar.gz"文件。 2. **解压**:使用`tar`命令解压缩文件,例如`tar -zxvf jdk-...
Kibana是 Elastic Stack 中的重要组件,用于可视化Elasticsearch中的数据。在7.6.2版本中,它提供了对Linux和Windows两个操作系统的支持。这个压缩包包含了针对这两种平台的不同安装包,分别是`kibana-7.6.2-linux-...
本教程将深入探讨如何在Linux下使用线程库,特别是针对TCP并发应用的实践。 线程库的选择: 在Linux环境下,主要的线程库有以下几种: 1. **NPTL (Native POSIX Thread Library)**:这是Linux内核自带的标准线程...
这个文件名揭示了几个关键信息:`jdk`代表Java Development Kit,`8`指的是JDK的版本号,`linux`意味着它是为Linux系统设计的,而`.tar.gz`则表明它是采用tar归档并用gzip压缩的文件格式。 **JDK 1.8的重要性** JDK...
对于Linux系统,则通常位于`/usr/lib/jvm/<jdk_version>/bin`路径下。双击`jvisualvm.exe`即可启动程序。 #### 四、配置远程监控 若需监控远程服务器上的Java应用程序,首先需要在远程服务器上进行以下几步设置: ...
首先,我们需要理解几个关键概念:进程、线程、Web容器、Java虚拟机以及它们之间的关系。 一个Java Web应用程序通常被打包成WAR(Web Archive)文件,然后部署到Web容器中,如Tomcat。当我们启动Tomcat时,实际上是...
要运行Elasticsearch,你需要先配置它,这通常包括以下几个步骤: 1. **配置文件**:Elasticsearch的主要配置文件是`config/elasticsearch.yml`。你可以在此修改集群名称、节点设置、网络监听地址等。 2. **JVM...
在提供的文件列表中,我们看到几个与单元测试和模拟有关的库文件: - **dbunit-2.2.jar**:DBUnit是一个用于数据库单元测试的Java框架,它允许开发者在测试前后加载和验证数据库的状态。 - **easymock.jar**:...
在搭建WebLogic 10.3.6集群的环境中,主要涉及了以下几个关键知识点: 1. **操作系统**:CentOS 6.4 是一个基于Linux的服务器操作系统,它提供了稳定和安全的基础,适合运行WebLogic这样的企业级应用服务器。 2. *...
此配置文件定义了一个上游服务器组 `backend`,用于负载均衡到两个本地 Tomcat 实例。 #### 三、Tomcat 配置 对于每个 Tomcat 实例,你需要确保它们配置正确且能够被 Nginx 正确代理。主要配置文件位于 `/conf/...
在 Linux(尤其是 CentOS)系统上安装和配置 Elasticsearch 需要注意以下几个关键知识点: 1. **系统需求与兼容性**: - CentOS 7 或更高版本是推荐的操作系统。 - 确保系统满足 Elasticsearch 的硬件要求,包括...
Tomcat的配置主要在`conf`目录下的几个文件中进行,包括`server.xml`、`web.xml`、`context.xml`等。 1. `server.xml`:这是Tomcat的主要配置文件,用于配置服务器端口、JVM参数、数据源、Connector等。 2. `web....
在Linux系统上,可以通过下载源码编译并使用`nohup`命令后台启动。 2. `redis_exporter`用于监控Redis数据库。根据是否有密码,启动命令有所不同。无密码时,只需要指定Redis服务器的地址和端口;有密码时,需要...
Arthas的核心组件包括以下几个部分: 1. **arthas-boot.jar**:这是Arthas的启动脚本,通过这个jar文件,开发者可以在已运行的Java进程中注入Arthas环境,无需重启应用即可进行诊断操作。 2. **arthas-agent.jar**...