首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《深入理解Java虚拟机》读书笔记(四)–虚拟机性能监控与故障处理工具

其常用选项见下表; 选项 作用 -q 只输出LVMID -m 输出虚拟机进程启动时传递给main函数的参数 -l 输出主类的全名,如果进程执行的是jar包,则输出jar路径 -v 输出虚拟机启动时的JVM...参数 1.2 jstat:虚拟机统计信息监视工具 用于监视虚拟机各种运行状态信息,它可以显示本地或者远程(需要远程主机提供RMI支持)虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行参数。...格式为:-dump:[live, ]format=b,file=,其中live参数说明是否只dump出存活的对象 -finalizerinfo 显示在F-Queue中等待Finalizer...它可以连接本地虚拟机进程,也可以连接远程进程。基本包括以下基本功能:概述、内存、线程、类、VM概要、MBean。其相当于jstat、jstack等指令可视化后集成到了一起。...其基于NetBeans平台开发,具备插件扩展功能的特性,通过插件扩展支持,VisualVM可以做到集成众多JDK命令行工具: 显示虚拟机进程以及进程的配置、环境信息(jps、jinfo) 监视应用程序的

52530

深入理解java虚拟机学习笔记(三)-虚拟机性能监控与故障处理工具

1.JDK的命令行工具 jdk自带监控和故障处理工具 名称 主要作用 jps JVM Process Status Tool,显示指定系统内所有HotSpot虚拟机进程 jstat JVM Statistics...选项 作用 -q 只输出LVMID,省略主类名称 -m 输出虚拟机启动时传递给main函数的参数 -l 输出主类的名称,如果执行进程是jar包,则输出jar包路径 -v 输出虚拟机进程启动时的jvm参数...选项 作用 -q 只输出LVMID,省略主类名称 -class 监视类装载、卸载数量、总空间以及类装载所耗费的时间 -gc 监视java堆状况,包括eden区,两个survivor区,老年代,永久代等的容量...、最小空间 -gcold 监视老年代的GC状况 -gcnewcapacity 监视与-gcold基本相同,但是输出关注java堆的各个区域的最大、最小空间 -gcpermcapcacity 输出永久代的最大...命令格式 jmap [option] vmid 选项说明: 选项 作用 -dump 生成java转储的堆快照,格式为 -dump:[live,]format=b,file=,其中live参数说明是否只

66620
您找到你想要的搜索结果了吗?
是的
没有找到

十三、JDK的命令行工具

jps:虚拟机进程状况工具 jps命令是最常用的命令,可用于查询正在运行的虚拟机进程,同时可选择性的显示虚拟机执行主类,即执行main函数的类,以及进程的本地虚拟机ID(Local Virtual Machine...选项 作用 实例 -q 只输出本地虚拟机进程ID,省略主类名 -m 输出虚拟机进程启动时传递给main()函数的参数 -l 输出进程执行的主类的全名 -v 输出虚拟机进程启动时的JVM参数 *...2. jstat:虚拟机统计信息监视工具 jstat命令可用于显示本地或远程虚拟机进程中的类装载 ,内存,垃圾收集,JIT编译等运行数据。...,但主要输出使用到的最大最小空间 -gcold 监视老年代GC情况 -gcoldcapacity 内容与-gcnew基本相同,但主要输出使用到的最大最小空间 -gcpermcapacity 输出永久代使用到的最大最小空间...=b , file=‹filename›,其中live参数说明只dump出存活的对象显示在F-Queue中等待Finalizer线程执行finalize方法的对象 -finalizerinfo 显示在

71820

JVM系列第15讲:JDK性能监控命令

查看虚拟机进程:jps 命令 jps 命令可以列出所有的 Java 进程。如果 jps 不加任何参数,可以列出 Java 程序的进程 ID 以及 Main 函数短名称,如下所示。...$ jps 6540 Jps 64447 Main 除此之外,还可以指定下面的参数自定义输出信息: 参数 含义 -q 指定jps只输出进程ID -m 输出传递给Java进程参数 -l 输出主函数的完整路径...-v 显示传递给Java虚拟机的参数 虚拟机统计信息:jstat 命令 jstat 用于观察 Java 堆信息的详细情况,其基本使用语法位: jstat - [-t] [-h<lines...参数 含义 -class 监视类装载、卸载数量、总空间以及类装载所耗费的时间 -gc 监视Java堆状况,包括Eden区、两个Survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息 -...例如:我们用jstat命令监视一个LVMID为2365的JVM进程

48830

Java虚拟机常用的性能监控工具

jps还可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态,参数hostid为RMI注册表中注册的主机名,jps的其他常用选项如下: -q 只输出LVMID,省略主类的名称 -m 输出虚拟机进程启动时传递给主类...main()函数的参数 -l 输出主类的全名,如果进程执行的是jar包,则输出JAR路径 -v 输出虚拟机进程启动时的JVM参数 jstat(虚拟机统计信息监视工具) jstat(JVM Statistics...Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具。...格式为-dump:[live,]format=b,file=,其中live参数说明是否只dump出存活的对象 -finalizerinfo 显示在F-Queue中等待Finalizer...-permstat 以ClassLoader为统计口径显示永久代内存状态。只在Linux/Solaris平台下有效。

87542

JDK常用命令行工具

-q只输出LVMID,省略主类的名称-m输出虚拟机进程启动时传递给主类的main()函数的参数-l输出主类的全名,如果进程执行的是jar包,输出jar路径-v输出虚拟机进程启动时JVM参数 来测试一下:...从下图来看Jps启动参数-Xms8m表明初始化堆大小为8m.而jar没有设置启动参数 ? 就我自己来说,用jps命令其实并不多,我前面找Java进程ID一般ps -ef|grep java。...其中option参数: -class监视类装载、卸载数量、总空间及类装载所耗费的时间-gc监视Java堆状况,包括Eden区、2个Survivor区、老年代、永久代等的容量-gccapacity监视内容与...这也简洁的说明在JDK8中永久代被移除了,使用元空间来代替。gcmetacapacity是表示元空间使用情况。其中命令中出现的字母代表的含义,我在后面详谈,今天主要说命令行工具 。...格式为:-dump:[live,]format=b,file=,其中live参数说明是否只dump出存活的对象-finalizerinfo显示在F-Queue中等待Finalizer

1.2K20

分享4个Linux中Node.js的进程管理器

Node.js进程管理器是一个有用的工具,可以确保Node.js进程或脚本连续(永久)运行,并使其能够在系统引导时自动启动。...它允许您列出,监视和处理所有已启动的Nodejs进程,并支持群集模式。...image.png 用于Nodejs的StrongLoop PM进程管理器 它支持应用程序监视(查看性能指标,如事件循环时间、CPU和内存消耗)、多主机部署、集群模式、零停机应用程序重启和升级、故障时自动进程重启以及日志聚合和管理...您可以通过两种方式永久使用:通过命令行或将其嵌入代码中。 image.png Forever运行脚本 它允许您管理(启动,列出,停止,停止所有,重新启动,重新启动所有等等。)...Node.js进程,它支持监视文件更改,调试模式,应用程序日志,终止进程和退出信号自定义等等。此外,它还支持多种使用选项,您可以直接从命令行传递或将它们传递到JSON文件中。 4.

2.8K61

深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能

命令格式: jps [选项] [主机id] jps主要选项: 选项 解释 -q 只输出LVMID,省略主类名称 -m 输出虚拟机进程启动时传递给主类main()函数的参数 -l 输出主类的全名 -v...输出虚拟机进程启动时的 JVM 参数 实例 jps -l jps -v ?...我们先使用jps -l查看虚拟机进程ID; ? 再使用pid为1584进行查询参数; ?...jmap命令格式: jmap [选项] vmid 相关选项 生成Java堆转存储快照,格式:-dump:[live,]format=b,file= ,其中live 参数说明是否只...监视Java堆状况,包括Eden区、两个Survivor区、老年代、永久代等容量、已用空间、GC时间合计等信息 -gccapacity 监视内容与-gc基本相同,但输出主要关注Java堆各个区域使用到的最大

41810

JVM调优工具总结「建议收藏」

JDK命令行工具,因为其他的命令行工具都需要输入查询到的ID来确定要监控的是哪一个虚拟机进程。...命令格式:jps [options] [hostid] 选项 作用 -q 只输出LVMID,省略主类的名称 -m 输出虚拟机进程启动时传递给主类main()函数的参数 -l 输出主类的全名,如果进程执行的是...Jar包,输出Jar包路径; -v 输出虚拟机进程启动时的JVM参数; 二、jstat:虚拟机统计信息监视工具 用于监视虚拟机各种运行状态信息的命令行工具。...-gc 监视Java堆状况、包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息 -gcutil 监视内容与-gc基本相同,主要输出的是使用空间的百分比 -gcnew...监视新生代GC状况 -gcold 监视老年代GC情况 -compiler 输出JIT编译器编译过的方法、耗时等信息 三、jinfo:Java配置信息工具 可以做到实时查看和调整虚拟机各项参数 命令格式

1.4K20

分享 10 道 Nodejs 进程相关面试题

,第二个参数 sendHandle 就是句柄,可以是 TCP套接字、TCP服务器、UDP套接字等,为了解决上面多进程端口占用问题,我们进程的 socket 传递到进程,修改代码,如下所示: //master.jsconst...参考了深入浅出 Node.js 一书,父进程在创建进程之前会先去创建 IPC 通道并一直监听该通道,之后开始创建进程并通过环境变量(NODECHANNELFD)的方式 IPC 频道的文件描述符传递给进程...Node.js 版本 源码地址 运行测试 $ node index.js守护进程开启 父进程 pid: 47608, 守护进程 pid: 47609 打开活动监视器查看,目前只有一个进程 47609,...= spawn('echo', ["简单的命令行交互"]);child.stdout.pipe(process.stdout); // 进程的输出做为当前进程的输入,打印在控制台 $ node execfile...进程的当前工作目录可以通过 process.cwd() 命令获取,默认为当前启动的目录,如果是创建进程则继承于父进程的目录,可通过 process.chdir() 命令重置,例如通过 spawn 命令创建的进程可以指定

1.1K10

虚拟机性能监控与故障处理工具

jps 工具主要选项 选项 | 作用 :-- | :-- -q | 只输出 LVMID,省略主类的名称 -m | 输出虚拟机进程启动时传递给主类 main() 函数的参数 -l | 输出主类的全名,如果进程执行的是...jar 包,输出包的路径 -v | 输出虚拟机进程启动时的 JVM 参数 例子: image.png 1.2 jstat:虚拟机统计信息监视工具 jstat 是用于监视虚拟机各种运行状态信息的命令行工具...dump 文件,通过 -XX:+HeapDumpOnCtrlBreak 参数则可以使用 [Ctrl]+[Break] 键让虚拟机生成 dump 文件,又或者在 Linux 系统下通过 Kill-3 命令发送进程退出信号...格式为 -dump:[live, ]format=b, file=, 其中 live 参数说明是否只 dump 出存活的对象 -finalizerinfo 显示在 F-Queue 中等待 Finalizer...2.1.2 内存监控 “内存”页签相当于可视化的 jstat 命令,用于监视受收集器管理的虚拟机内存(Java 堆和永久代)的变化趋势。

34310

Node应用的进程管理器: PM2详细介绍

它是NodeJs应用的进程管理器,可以利用它来简化很多Node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。...同时为了弥补单线程无法利用多核CPU的问题,提供了“进程”这个概念,Node.js 实际上是 Javascript 执行线程的单线程,真正的的 I/O 操作,底层 API 调用都是通过多线程执行的。...# 也可以把'max' 参数递给 start # 正确的进程数目依赖于Cpu的核心数目 $ pm2 start app.js --name my-api...# 命名进程 $ pm2 list # 显示所有进程状态 $ pm2 monit # 监视所有进程 $ pm2 logs...2、通过pm2 startup [platform]生成开机自启动的命令。例如:pm2 startup centeros 3、步骤2生成的命令,粘贴到控制台进行,搞定。

3.1K20

分享 10 道 Nodejs 进程相关面试题

,第二个参数 sendHandle 就是句柄,可以是 TCP套接字、TCP服务器、UDP套接字等,为了解决上面多进程端口占用问题,我们进程的 socket 传递到进程,修改代码,如下所示: //master.js...参考了深入浅出 Node.js 一书,父进程在创建进程之前会先去创建 IPC 通道并一直监听该通道,之后开始创建进程并通过环境变量(NODECHANNELFD)的方式 IPC 频道的文件描述符传递给进程...Node.js 版本 源码地址 运行测试 $ node index.js 守护进程开启 父进程 pid: 47608, 守护进程 pid: 47609 打开活动监视器查看,目前只有一个进程 47609...= spawn('echo', ["简单的命令行交互"]); child.stdout.pipe(process.stdout); // 进程的输出做为当前进程的输入,打印在控制台 $ node...进程的当前工作目录可以通过 process.cwd() 命令获取,默认为当前启动的目录,如果是创建进程则继承于父进程的目录,可通过 process.chdir() 命令重置,例如通过 spawn 命令创建的进程可以指定

1.3K40

进程管理:通过PM2来管理Node、PHP CLI等应用的运行

对于nodejs的应用程序,PM2有一个负载均衡器: 提高应用程序的可用性和可靠性:负载均衡器可以请求分配到多个服务器上,从而减轻单个服务器的负载,提高应用程序的可用性和可靠性。...启动程序并实现管理是通过fork进程去实现的。... # 指定日志文件,--log # 额外的参数递给脚本,-- arg1 arg2 arg3 # 自动重启之间的延迟时间,--restart-delay <延迟时间(以毫秒为单位...显示有关特定进程的所有信息 pm2 monit命令监视所有进程 进程日志相关: pm2 logs [--raw]命令,以流式方式显示所有进程日志 pm2 flush命令,清空所有日志文件 pm2 reloadLogs...) pm2 stop 0命令,停止特定的进程ID pm2 restart 0命令,重新启动特定的进程ID pm2 delete 0命令进程从pm2列表中删除 pm2 delete all命令所有进程

1.3K40

分享 10 道 Nodejs 进程相关面试题

,第二个参数 sendHandle 就是句柄,可以是 TCP套接字、TCP服务器、UDP套接字等,为了解决上面多进程端口占用问题,我们进程的 socket 传递到进程,修改代码,如下所示: //master.js...参考了深入浅出 Node.js 一书,父进程在创建进程之前会先去创建 IPC 通道并一直监听该通道,之后开始创建进程并通过环境变量(NODECHANNELFD)的方式 IPC 频道的文件描述符传递给进程...Node.js 版本 源码地址 运行测试 $ node index.js 守护进程开启 父进程 pid: 47608, 守护进程 pid: 47609 打开活动监视器查看,目前只有一个进程 47609...= spawn('echo', ["简单的命令行交互"]); child.stdout.pipe(process.stdout); // 进程的输出做为当前进程的输入,打印在控制台 $ node...进程的当前工作目录可以通过 process.cwd() 命令获取,默认为当前启动的目录,如果是创建进程则继承于父进程的目录,可通过 process.chdir() 命令重置,例如通过 spawn 命令创建的进程可以指定

58810

JVM-10虚拟机性能监控与故障处理工具之【JDK的命令行】

文章目录 思维导图 概述 命令行工具 jps 虚拟机进程状况工具 概述 语法及使用 jstat 虚拟机统计信息监视工具 概述 语法及使用 jinfo Java配置信息工具 概述 语法及使用 jmap...jps的其他常用选项 选项 作用 -q 只输出LVMID,省略主类的名称 -m 输出虚拟机进程启动时传递给主类main函数的参数 -l 输出主类的全名,如果执行的是jar包,输出jar路径 -v 输出虚拟机进程启动时...jvm参数 ---- jstat 虚拟机统计信息监视工具 概述 ?...对于命令格式中的VMID和LVMID,如果是本地虚拟机进程,两者一致。...格式为 -dump:[live,] format=b,file= 其中live参数说明是否只dump出存活的对象 -finalizeinfo 显示在F-Queue中等待Finalizer线程执行finalize

42020

JVM 问题排查工具

jinfo常用命令:显示虚拟机配置信息 1 # 输出当前 jvm 进程的全部参数和系统属性 2 jinfo pid 3 4 # 输出所有的参数 5 jinfo -flags pid 6...在这个模式下,live参数无效. 8 help:打印帮助信息 9 J:指定传递给运行jmap的JVM的参数 更多请参考:jvm 性能调优工具之 jmap 和 jmap - Memory Map...选    项 作     用 -class 监视类装载、卸载数量、总空间以及类装载所消耗的时间 -gc 监视 Java堆状况,包括 Eden区、两个 Survivor区、老年代、永久代等的容量、已用空间...、最小空间 -gcold 监视老年代 GC状况 -gcoldcapacity 监视内容与 gcold基本相同,输出主要关注使用的最大、最小空间 -gcpermcapacity 输出永久代使用到的最大、最小空间...第一是一般不会在部署应用程序的服务器上直接分析 dump文件,即使可以这样做,也尽量 dump文件复制到其他机器上进行分析,因为分析工作是一个耗时而且消耗硬件资源的过程,既然在其他机器上运行,那就没有必要受命令行工具的限制了

47320

使用JDK自带工具进行JVM内存分析之旅

通过分析应用程序的内存使用情况,可以调整堆内存大小、永久代(如果是旧版 Java)大小、新生代与老年代比例等参数,以减少垃圾回收频率,降低内存占用。...下面详细解释这些工具的使用方法。jpsjps 是 JDK 提供的一个用于列出 Java 虚拟机进程命令行工具。...-m:显示传递给主类的参数。-l:显示主类的全限定名,通常用于区分具体的 Java 应用程序。-v:显示传递给 JVM 的参数。...:jps -l如果要显示传递给主类的参数,可以使用 -m 选项:jps -m如果要显示传递给 JVM 的参数,可以使用 -v 选项:jps -vjcmdjcmd:jcmd 命令是 Java 8 新增的命令...:要监视的 Java 进程的 PID(进程标识符)。[ interval ]:可选参数,指定输出统计信息的时间间隔(以毫秒为单位)。如果省略,则默认为每秒一次。

27610

JVM07-虚拟机故障处理命令行工具

前言 这篇文章介绍用来排查处理虚拟机故障的一些常用的命令行工具。因为如果我们要对JVM进行调优时,必须要通过这些工具分析虚拟机的运行状态。...jps: 虚拟机进程状况工具 jps命令是一个检查虚拟机进程状况的工具。...选项 作用 -q 只输出LVMID,省略主类的名称 -m 输出虚拟机进程启动时传递给主类main()函数的参数 -l 输出主类的全名,如果进程执行的是JAR包,则输出JAR路径 -v 输出虚拟机进程启动时的...JVM参数 jstat: 虚拟机统计信息监控工具 jstat是用于监控虚拟机各种运行状况信息的命令行工具,它可以显示本地 或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据。...输出永久代使用到的最大、最小空间 -compiler 输出即时编译过的方法,耗时等信息 -printcompilation 输出已经被即时编译的方法 下面一个监控项目启动之后的内存状况的例子:还是以那个进程

35440
领券