0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

监控jvm常用的5个命令行工具

阿铭linux 2018-02-06 14:47 次阅读

常用的几个命令行工具有jps、jstat、jinfo、jmap、jstack等。这几个工具可以通过安装openjdk-devel-debug包获取。

yum install -yjava-1.8.0-openjdk-devel-debug

1. jps 类似linux的ps命令,常用选项有

-l输出应用程序main class的完整package名或者应用程序的jar文件完整路径名

-m输出传递给main 方法的参数,在嵌入式jvm上可能是null

-v输出传递给JVM的参数

示例:

jps -lvm

2. jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,用以判断JVM是否存在内存问题。

语法:jstat -

其中vmid指的是java进程pid,interval为间隔时间,单位是毫秒,count为次数。

常用用法:

jstat -gcutil20659 1000 2

输出内容为:

S0 S1 E O M CCS YGC YGCT FGC FGCT GCT

0.00 99.38 65.57 3.61 97.37 89.84 1 0.015 0 0.000 0.015

0.00 99.38 65.57 3.61 97.37 89.84 1 0.015 0 0.000 0.015

S0 — Heap上的 Survivor space 0 区已使用空间的百分比

S1 — Heap上的 Survivor space 1 区已使用空间的百分比

E — Heap上的 Eden space 区已使用空间的百分比

O — Heap上的 Old space 区已使用空间的百分比

P — Perm space 区已使用空间的百分比

YGC — 从应用程序启动到采样时发生 Young GC 的次数

YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)

FGC — 从应用程序启动到采样时发生 Full GC 的次数

FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)

GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)

3. jinfo用来查看jvm配置参数。

常用用法:

jinfo -flags 20659 //其中后面的数字是java进程pid

输出内容如下:

Attaching to process ID 20659, please wait...

Debugger attached successfully.

Server compiler detected.

JVM version is 25.161-b14

Non-default VM flags: -XX:CICompilerCount=2 -XX:InitialHeapSize=67108864 -XX:MaxHeapSize=1069547520 -XX:MaxNewSize=356515840 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=22020096 -XX:OldSize=45088768 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC

Command line: -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

4. jmap用来查看指定java进程内存使用情况。

常用用法:

jmap pid #打印内存使用的摘要信息

jmap –heap pid #java heap信息

jmap -histo:live pid #统计对象count ,live表示在使用

jmap -histo pid >mem.txt #打印比较简单的各个有多少个对象占了多少内存的信息,一般重定向到一个文件

jmap -dump:format=b,file=mem.dat pid #将内存使用的详细情况输出到mem.dat 文件

5 jstack用于查看进程内线程栈的工具。当程序出现死锁时,我们可以通过jstack打印线程栈找到问题。

用法是:

jstack pid

监控jvm常用的5个命令行工具

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JVM
    JVM
    +关注

    关注

    0

    文章

    158

    浏览量

    12220

原文标题:监控jvm的工具

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在STM32实现命令行

    工作中的开发环境都是基于linux命令行交互,作为命令行的重度使用者,玩单片机也要使用命令行工具,百度了一些命令行
    发表于 12-09 11:32 2383次阅读

    Linux命令行工具

    Linux 新手往往对命令行心存畏惧。部分原因是因为需要记忆大量的命令,毕竟掌握命令是高效使用命令行的前提不幸的是,学习这些命令并无捷径,
    发表于 07-25 08:10

    linux命令行下载工具

    wget是linux下常用命令行下载工具,是Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件。而tget是一简单的
    发表于 07-25 07:02

    caxa命令行中的应用

    caxa命令行中的应用 命令行对于大多用户来说往往只是输入数据的作用,但是其中的奥妙还有很多,下面就给大家
    发表于 10-18 18:18 2294次阅读

    CMD的命令行高级教程

    CMD的命令行高级教程
    发表于 10-24 08:31 30次下载
    CMD的<b class='flag-5'>命令行</b>高级教程

    监控网络使用情况的Linux命令行工具

    本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流
    的头像 发表于 10-29 10:49 4702次阅读

    Xilinx软件命令行工具:XSCT开发和调试

    了解如何使用XSCT,Xilinx软件命令行工具进行开发和调试。 该视频演示了XSCT如何充当Xilinx SDK的命令行控制台。
    的头像 发表于 11-21 06:02 1.4w次阅读

    Xilinx软件命令行工具进行开发和调试

    了解如何使用XSCT,Xilinx软件命令行工具进行开发和调试。 该视频演示了XSCT如何充当Xilinx SDK的命令行控制台。
    的头像 发表于 11-22 06:53 6698次阅读

    Git常见的误区和命令行工具等综述

    Git常见的误区和命令行工具等综述
    发表于 08-31 09:51 0次下载

    Golang基于flag库实现一命令行工具

    Golang 标准库中的 flag 库提供了解析命令行选项的能力,我们可以基于此来开发命令行工具
    的头像 发表于 10-28 09:26 1290次阅读

    新的开源命令行工具west

    电子发烧友网站提供《新的开源命令行工具west.zip》资料免费下载
    发表于 11-11 09:25 0次下载
    新的开源<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>west

    介绍Go里面经常使用到的命令行工具

    优秀的工具配合熟练的使用,往往可以让开发效率大幅度提升,本小节介绍 Go 里面经常使用到的命令行工具
    的头像 发表于 05-22 16:58 1289次阅读
    介绍Go里面经常使用到的<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>

    PetaLinux工具文档:命令行参考指南

    电子发烧友网站提供《PetaLinux工具文档:命令行参考指南.pdf》资料免费下载
    发表于 09-15 14:52 0次下载
    PetaLinux<b class='flag-5'>工具</b>文档:<b class='flag-5'>命令行</b>参考指南

    开源MCU级的命令行交互组件

    开源MCU级命令行交互组件~
    的头像 发表于 10-17 16:26 422次阅读
    一<b class='flag-5'>个</b>开源MCU级的<b class='flag-5'>命令行</b>交互组件

    HarmonyOS开发:【基于命令行(安装库和工具集)】

    使用命令行进行设备开发时,可以通过以下步骤安装编译OpenHarmony需要的库和工具
    的头像 发表于 04-25 21:03 405次阅读
    HarmonyOS开发:【基于<b class='flag-5'>命令行</b>(安装库和<b class='flag-5'>工具</b>集)】