zoukankan      html  css  js  c++  java
  • JDK 自带工具试用(一)

    简述:

    运维监控会用到JDK的小工具

    说明:

    1. jps 

    用来查看当前运行的Java进程

    我在eclipse中起了一个web 应用

    或者用jps -l 可以查看的更清楚一点

    jps -v

    看到10376之后用taskkill指令关闭

    2. jstat 

    虚拟机统计信息监视工具

    先用jps查看当前启动的应用

    于是使用

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. cd C:UsersAdministratorDesktopjvm monitor  

    gcutil 监视Java堆状况,主要关注已使用空间占总空间的百分比,包括Eden区,2个survivor区,老年代、永久代,已用空间、GC时间合计

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. jstat -gcutil 8832 >>jstat_result.txt  



    查询结果表明

    在新生代Eden区使用了37.15%的空间

    S0, S1 , Survivor0, Survivor1

    O : Old

    P: Permanent

    YGC: Young GC 程序运行以来总共发生16次GC, 共耗时YGCT  13.247秒

    FGC: Full GC 2次 , 耗时GCT 1.1.02秒

    GC总耗时: 14.349秒

    3. jinfo

    实时地查看和调整虚拟机各项参数

    通过命令

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. java -XX:+PrintFlagsFinal  > printFlagsFinal_result.txt  

    获取当前的jvm信息

    从中可以看到

    下面是调用system.getProperties() 的命令

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. jinfo -sysprops 12408 > jinfo_result.txt  

    jinfo查看参数

    试着修改 CMSInitiatingOccupancyFraction 

    (CMS, 一种以获取最短回收停顿时间为目标的收集器, 关于JVM内存管理 参看官方文档 

    http://www.oracle.com/technetwork/java/javase/memorymanagement-whitepaper-150215.pdf) 

    通过jinfo查询得到该参数

    附(记录几个常用的参数):

    -Xms 初始堆大小 默认物理内存的1/64(<1GB)

    -Xmx 最大堆大小

    -Xmn 年轻代大小 (Eden和两个Survivor区的合计大小)

    -Xss 每个线程的堆栈大小

    4. jmap 

    Java 内存映像工具

    输入指令

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. jmap -dump:format=b,file=jmap_result.bin 12408  


    于是会生成jmap_result.txt文件

    需要在eclipse中安装Memory Analyzer插件

    http://download.eclipse.org/mat/1.4/update-site/

    进入Memory Analysis perspective

    而后

    File -> Open Heap Dump

    选内存泄露模式,于是生成一张 饼状图

    (这里是引入,之后具体的检测会有新的文章做阐述)

    5. jconsole 

    进入jdk目录,

    运行  

    出现界面,

  • 相关阅读:
    ORA-06502: PL/SQL: 数字或值错误 PLS-00201: 必须声明标识符
    WINDOWS访问SAMBA提示没有权限
    C语言之isatty函数(判断文件描述词是否是为终端机)
    Centos7更改网卡名称eth0
    ReadLine自动补全分析
    GNU Readline库函数的应用示例
    GNU Readline 库及编程简介
    readline库的简单使用
    ls命令的修改时间显示到秒
    验证远程主机SSH指纹
  • 原文地址:https://www.cnblogs.com/yanghj010/p/4087291.html
Copyright © 2011-2022 走看看