java常用命令(一)jps、jstat

jps、jstat是jvm监控工具。除Windows 98和Windows ME外,所有平台都支持这些工具。

jps - jvm进程状态工具

jps命令的功能是列出目标系统上已检测到的HotSpot Java虚拟机。

C:\Users\qzvao>jps -help
usage: jps [-help]
       jps [-q] [-mlvV] [<hostid>]

Definitions:
    <hostid>:      <hostname>[:<port>]

通过jps -help可知,jps共有5个可选命令行选项。

-q 列出仅包含进程id的jvm列表

C:\Users\qzvao>jps -q
6880
16468
18908

-m 列出包含jvm进程id,main方法所在类名,main方法参数的jvm列表

C:\Users\qzvao>jps -m
16468 Launcher D:/ide/idea/lib/jgoodies-forms.jar;D:/ide/idea/lib/asm-all.jar;D:/ide/idea/lib/snappy-in-java-0.5.1.jar;D:/ide/idea/lib/jps-builders-6.jar;D:/ide/idea/lib/jna-platform.jar;D:/ide/idea/lib/maven-aether-provider-3.3.9-all.jar;D:/ide/idea/lib/resources_en.jar;D:/ide/idea/lib/forms_rt.jar;D:/ide/idea/lib/guava-21.0.jar;D:/ide/idea/lib/jna.jar;D:/ide/idea/lib/httpcore-4.4.5.jar;D:/ide/idea/lib/oromatcher.jar;D:/ide/idea/lib/javac2.jar;D:/ide/idea/lib/httpclient-4.5.2.jar;D:/ide/idea/lib/util.jar;D:/ide/idea/lib/log4j.jar;D:/ide/idea/lib/trove4j.jar;D:/ide/idea/lib/openapi.jar;D:/ide/idea/lib/annotations.jar;D:/ide/idea/lib/jdom.jar;D:/ide/idea/lib/jps-model.jar;D:/ide/idea/lib/protobuf-java-2.5.0.jar;D:/ide/idea/lib/jps-builders.jar;D:/ide/idea/lib/commons-codec-1.9.jar;D:/ide/idea/lib/aether-dependency-resolver.jar;D:/ide/idea/lib/commons-logging-1.2.jar;D:/ide/idea/lib/slf4j-api-1.7.10.jar;D:/ide/idea/lib/aether-1.1.0-all.jar;D:/ide/idea/lib/idea_rt.jar;D:/ide/idea/lib/netty-al
16708 Jps -m

-v 列出包含jvm进程id,main方法所在类名,jvm参数的jvm列表

C:\Users\qzvao>jps -v
16468 Launcher -Xmx700m -Djava.awt.headless=true -Djava.endorsed.dirs="" -Djdt.compiler.useSingleThread=true -Dpreload.project.path=D:/ideaProjects/bonc/carbon-apimgt -Dpreload.config.path=C:/Users/qzvao/.IntelliJIdea2017.3/config/options -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Djava.net.preferIPv4Stack=true -Dio.netty.initialSeedUniquifier=-5202155218272748285 -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN -Didea.paths.selector=IntelliJIdea2017.3 -Didea.home.path=D:\ide\idea -Didea.config.path=C:\Users\qzvao\.IntelliJIdea2017.3\config -Didea.plugins.path=C:\Users\qzvao\.IntelliJIdea2017.3\config\plugins -Djps.log.dir=C:/Users/qzvao/.IntelliJIdea2017.3/system/log/build-log -Djps.fallback.jdk.home=D:/ide/idea/jre64 -Djps.fallback.jdk.version=1.8.0_152-release -Dio.netty.noUnsafe=true -Djava.io.tmpdir=C:/Users/qzvao/.IntelliJIdea2017.3/system/compile-server/carbon-apimgt_789ae554/_temp_ -Djps.backward.ref.index.builder=true
11740 Jps -Denv.class.path=.;D:\sdk\jdk\jdk1.8.0_162\lib -Dapplication.home=D:\sdk\jdk\jdk1.8.0_162 -Xms8m
18908  -Xms2048m -Xmx2048m -XX:ReservedCodeCacheSize=1024m -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dfile.encoding=UTF-8 -Djb.vmOptionsFile=D:\ide\idea\bin\idea64.exe.vmoptions -Xbootclasspath/a:D:\ide\idea\lib\boot.jar -Didea.jre.check=true -Dide.native.launcher=true -Didea.paths.selector=IntelliJIdea2017.3 -XX:ErrorFile=C:\Users\qzvao\java_error_in_idea_%p.log -XX:HeapDumpPath=C:\Users\qzvao\java_error_in_idea.hprof

-V 列出包含jvm进程id,main方法所在类名的jvm列表

C:\Users\qzvao>jps -V
16468 Launcher
7700 Jps

-l 列出包含jvm进程id,main方法所在类全限定类名的jvm列表

C:\Users\qzvao>jps -l
19248 sun.tools.jps.Jps
16468 org.jetbrains.jps.cmdline.Launcher

jstat - JVM统计监控工具

jstat命令列出已检测到的Java HotSpot VM的性能统计信息

命令格式

C:\Users\qzvao>jstat -class -h3 -t 16468 1000 8
Timestamp       Loaded  Bytes  Unloaded  Bytes     Time
       115285.7   3157  5887.3        0     0.0       2.51
       115286.7   3157  5887.3        0     0.0       2.51
       115287.7   3157  5887.3        0     0.0       2.51
Timestamp       Loaded  Bytes  Unloaded  Bytes     Time
       115288.7   3157  5887.3        0     0.0       2.51
       115289.7   3157  5887.3        0     0.0       2.51
       115290.7   3157  5887.3        0     0.0       2.51
Timestamp       Loaded  Bytes  Unloaded  Bytes     Time
       115291.7   3157  5887.3        0     0.0       2.51
       115292.7   3157  5887.3        0     0.0       2.51

jstat -class -h3 -t 16468 1000 8这条命令的意思是查看类加载器统计信息

  • -class监控类加载器统计信息,当然我们还可以监控垃圾收集堆统计信息(-gc)等信息。
  • h3选项每三条信息加一个列标题(可选)
  • -t选项是在在首列加一列距离jvm启动的时间戳(可选)
  • 16468是jvm进程id(必须)
  • 1000是每隔1000毫秒打印一条数据(可选,默认打印一条)
  • 8是打印8条数据(可选,如果指定了间隔时间,将持续打印)

-class监控类加载器统计信息标题解释

Timestamp 距离jvm启动的时间戳

Loaded:已加载的类数。

Bytes:加载的kB数。

Unloaded:卸载的类数。

Bytes:已卸载的Kbytes数。

Time:执行类加载和卸载操作所花费的时间。

其他监控统计信息

-compiler Java HotSpot VM即时编译器统计信息。

-gc 垃圾收集堆统计信息。

-gcutil 垃圾收集统计摘要。

-gccause 此选项显示与-gcutil选项相同的垃圾回收统计信息摘要,但包括上次垃圾回收事件的原因以及(如果适用)当前垃圾回收事件的原因。除了为-gcutil列出的列之外,此选项还添加以下列。

  • LGCC 上次垃圾收集的原因
  • GCC 当前垃圾收集的原因

-gcnew 新生代垃圾回收统计

-gcnewcapacity 新生代内存空间大小统计

-gcold 老年代和元空间(metaspace)垃圾回收统计

-gcoldcapacity 老生代内存空间大小统计

-gcmetacapacity 元空间(metaspace)内存空间大小统计

-printcompilation Java HotSpot VM编译方法统计

-gccapacity 内存池生成和空间容量。

各个统计信息标题请参考oracle官方文档

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,200评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,526评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,321评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,601评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,446评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,345评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,753评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,405评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,712评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,743评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,529评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,369评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,770评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,026评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,301评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,732评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,927评论 2 336

推荐阅读更多精彩内容

  • jstack-- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java sta...
    not_null阅读 7,925评论 2 62
  • 声明:原创文章,转载请注明出处。http://www.jianshu.com/u/e02df63eaa87 1、L...
    唐影若凡阅读 3,630评论 0 11
  • 希望有一天 路途不再这般遥远 让我们的爱像一首温馨的歌 轻轻飘在你的耳畔 希望有一个早晨 一开窗能看到你 让我那颗...
    朝阳书简阅读 453评论 1 11
  • 多年来,没有朋友,没有自己的日子寂寞而无耐。一举手一顿足都要想想会不会被扣上什么"大帽子",工作中一事无成...
    芷草阅读 198评论 0 0
  • 关于作者 马丁·塞利格曼,“积极心理学之父”,把心理学研究的重点,从对人的缺陷和不足,转移到人的优势和美德上,提倡...
    札记侠阅读 387评论 0 0