java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令。

1. jmap

这个命令是用来查看当前系统中jvm进程 heap dump的情况,包括对象的数量,对象所占内存的大小

使用方式:先使用jps查看进程id

使用 jmap -dump:live,file=b.map 22467 将live进程生成java堆转储快照

使用 jmap -heap PID 生成java堆的详细信息

使用 jmap -histo PID 生成java堆中对象的相关信息,包含数量以及占用的空间大小

2. jstat

主要是用来监控 heap size 和 jvm垃圾回收情况,尤其是gc情况的监控,如果老年代发生full gc,那么很可能会导致内存泄漏的可能性

可以看到新生代survivor S0, survivor S1 heap上的空间 使用百分比,堆中新生代Eden 的空间使用百分比,老年代Old 空间的使用百分比,内存的使用百分比,新生代Yong gc 的统计次数,新生代gc 花费的时间,full gc 的次数,花费的时间,当前进程总的gc时间,这里要注意一点,full gc很具有代表性,full gc次数 和时间 指标很能显示系统性能问题,这两个指标很大,很大程度上说明了程序中有问题,垃圾一直回收不掉

3. jstack

先使用 top 查看系统中消耗cpu比较多的进程,然后使用 top -p PID -H来查看当前进程中比较消耗cpu的线程,拿到消耗cpu比较高的线程pid,先转换成16进制的,最后使用jstack pid|grep 16进制的线程id

jstack -pid可以用来分析进程情况

Linux下用命令查看CPU ID以及厂家等信息

Linux下用命令查看CPU ID // 获得CPU IDdmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}' // 获得磁盘IDfdi ...

Linux使用jstat命令查看jvm的GC情况(转)

B. jstack jstack主要用来查看某个Java进程内的线程堆栈信息.语法格式如下: 1 jstack [option] pid 2 jstack [option] executable co ...

Linux使用jstat命令查看jvm的GC情况

Linux使用jstat命令查看jvm的GC情况 http://www.open-open.com/lib/view/open1390916852007.html http://www.aiuxian ...

Linux下jmap命令查看内存使用

Linux下jmap命令查看内存使用 jmap -heap 1234(1234为进程号) jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: -heap       打印heap空间的概要 ...

Linux下Tomcat开启查看GC信息

本文收录在Linux运维企业架构实战系列 一.开启GC日志 1.在Tomcat 的安装路径下,找到bin/catalina.sh 加上下面的配置,具体参数,自己配置: [root@centos7 to ...

linux下常用命令查看端口占用

在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询netstat命令各个参数说明如下: -t : 指明显示TCP端口 ...

linux下top命令查看cpu占用情况

可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令 ...

win7和linux下利用命令查看文件md5、sha1、sha256

win7 certutil -hashfile  MD5 certutil -hashfile  SHA1 certutil -hash ...

Linux下Shell命令的输出信息同时显示在屏幕和保存到日志文件中

#直接覆盖日志文件 ls -l | tee ./t.log #将输出内容附加到日志文件 ls -l | tee -a ./t.log 使用的是tee命令

随机推荐

php下载远程文件方法~

直接上代码: getFile("http://easyread.ph.126.net/N8gDl6ayo5wLgKbgT21NZQ==/7917056565549478184.jpg&quo ...

UDS帧传输

说明 在UDS协议中,其中有一点我视作为基础,即帧传输.也即是数据传输这一块,在UDS的帧传输中,分为4种: SF单帧 FF第一帧 CF连续帧 FC流控制帧 首先,我们抛开以上的东西,假设一个销售商( ...

SQLite错误码

在SQLite中,执行SQL语句的sqlite3_exec()和sqlite3_prepare()两个核心方法的返回值都是一个整型数据,因此,当程序执行出现错误时,我们可以根据执行返回的整型数据来判断 ...

Android Window 9问9答

1.简述一下window是什么?在android体系里 扮演什么角色? 答:window就是一个抽象类,他的实现类是phoneWindow.我们一般通过windowManager 来访问window. ...

android fragment addToBackStack bug

In FragmentActivity.First, I add two fragment by FragmentTransaction. See the flowing code : /****** ...

(转)JAVA的整型与字符串相互转换

JAVA的整型与字符串相互转换1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或         ...

【PHP】最详细PHP从入门到精通(四)——PHP中的字符串

PHP从入门到精通 之PHP中的字符串 大家好,继续跟进PHP最详尽的知识更新,本周,跟大家重点讲一下PHP中字符串的使用.在PHP中,字符串是非常重要的一个概念,基本上大家想到的字符串的处理功能, ...

这是一篇关于:以时间表的形式来介绍Java如何演变至今,以及Java版本的一些特性的分享

这是一篇关于:以时间表的形式来介绍Java如何演变至今,以及Java版本的一些特性的分享: Java版本,功能和历史 原文[英]:https://javapapers.com/core-java/ja ...

JS中AOP的实现和运用

在编写js的时候,我们有时会遇到针对某种场景做处理,比如在方法开始的时候校验参数,执行方法前检查权限,或是删除前给出确认提示等等.这些校验方法.权限检测.确认提示,规则可能都是相同的,在每个方法前去调 ...

Linux 命令(二)

man help:线上查询及帮助命令 命令  --help:简单帮助 help  cd:查看一些Linux命令行的一些内置命令 文件和目操作命令(19个) ls  cd  cp  find  mkdi ...

Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息相关推荐

  1. linux命令查看cpu序列号,Linux下用命令查看CPU ID以及厂家等信息

    Linux下用命令查看CPU ID // 获得CPU ID dmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}' // 获得磁盘ID f ...

  2. linux下jmap 内存命令,Linux下jmap命令查看内存使用

    Linux下jmap命令查看内存使用 jmap -heap 1234 (1234为进程号) jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: -heap 打印heap空间的概要,这里可以 ...

  3. 【转载】dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)

    更新时间:2014年05月11日 00:26:16   投稿:mdxy-dxy 这篇文章主要介绍了windows系统自带命令查看硬件信息,怎样dos命令查看硬盘和内存/CPU信息的方法,需要的朋友可以 ...

  4. (win和win server)dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)

    如何在windows系统自带命令查看硬件信息,怎样dos命令查看硬盘和内存/CPU信息?最直接的是:开始→运行→CMD打开命令提示符,在该窗口下输入systeminfo执行,即可看到几乎所有想知道的系 ...

  5. 计算机的硬盘 内存在哪查到,dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)...

    怎么查硬盘里隐藏的内存 如何在windows系统自带命令查看硬件信息,怎样dos命令查看硬盘和内存/CPU信息?最直接的是:开始→运行→CMD打开命令提示符,在该窗口下输入systeminfo执行,即 ...

  6. android查看cpu信息,Android使用adb命令查看CPU信息

    Android中使用JNI编程的时候会需要编译出不同的SO文件,以供适配不同的机型. 例如: 由此需要查看不同机型的CPU信息. 使用ADB命令查看CPU信息命令如下: 1. adb shell 2. ...

  7. 深入理解:cmd下java命令启动JVM运行class文件时,可以自动识别不同编码编译后的class文件并加之运行

    cmd下java命令启动JVM运行class文件时,可以自动识别不同编码编译后的class文件并加之运行 总结如下: 一:程序源代码以GBK格式保存时: 二:程序以源代码UTF-8无BOM格式保存时: ...

  8. 获取linux命令硬盘信息,Linux 下使用命令获取硬盘信息

    本文主要是一些和硬盘相关的命令,包括如何查看硬盘的型号,容量,还有硬盘上的分区情况,来详细了解本机硬盘的状态. hdparm 如果想要在 Linux 下查看硬盘信息,可以使用命令 hdparm .这个 ...

  9. linux dmidecode命令,linux下dmidecode命令获取硬件信息

    dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI 标准,以一种可读的方式dump出机器的DMI(Desktop Management In ...

最新文章

  1. 在运行期通过反射了解JVM内部机制
  2. logback 配置文件编写
  3. 清华博士回应:我为什么逃离科研,去中学当老师?
  4. 天线巴伦制作和原理_10米段的春天 | 用自制环型天线+改装SDR接收器27MHz采访实录...
  5. 右击菜单一键优化(增加新建office2003、新建reg和bat,删除新建公文包、新建wps、新建rar)...
  6. JDBC连接 Mysql数据库
  7. 安装ubuntu出现花屏_电脑显卡花屏怎么办?电脑独立显卡花屏的原因和解决方法...
  8. 汇编语言---GCC内联汇编
  9. MySql数据的启动和停止以及SQLyog图形化工具的下载
  10. 数据结构C语言版第二版(名师严蔚敏最新力作)人民邮电出版社
  11. Diablo II中的各种hacks
  12. 【.Net Core】编译时禁止自动生成netcoreapp文件夹
  13. 深度学习数据增强方法-内含(亮度增强,对比度增强,旋转图图像,翻转图像,仿射变化扩充图像,错切变化扩充图像,HSV数据增强)七种方式进行增强-每种扩充一张实现7倍扩)+ 图像缩放代码-批量
  14. 同步时序逻辑电路功能分析之同步五进制加法计数器
  15. 五、肿瘤全基因组学体细胞结构突变特征(Patterns of somatic structural variation in human cancer genomes)
  16. win版本openssl工具下载安装
  17. 好书推荐——从零开始学习 Julia 编程、数学和数据科学。
  18. Skywalking全部
  19. 14.[保护模式]TSS任务段
  20. 【EtherCAT理论篇】一、EtherCAT现场总线概述

热门文章

  1. 【MediaPipe】(3) AI视觉,人脸识别,附python完整代码
  2. cstring 比较_不同商用齿轮齿接触分析软件的比较(三)
  3. 基于点云强度的3D激光雷达与相机的外参标定
  4. 设置IDEA编辑过程直接通过F5刷新网页就可以实时查看JSP文件更新结果,而非通过重新run
  5. 解决360浏览器偶发性会闪屏一下黑色的背景
  6. 虚幻引擎虚拟现实开发基础学习教程
  7. linux内存管理 之 内存节点和内存分区(Zone)
  8. When should static_cast, dynamic_cast and reinterpret_cast be used?
  9. FCS省选模拟赛 Day5
  10. CQOI2015 任务查询系统