如何查看linux上java实例消耗内存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看linux上java实例消耗内存相关的知识,希望对你有一定的参考价值。

  mpstat -P ALL  和  sar -P ALL

  说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt

  top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解.下面几种方法都可以插件Java实例消耗的内存.

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

  内容解释:

  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

  常用的命令:

  P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行

  2、便捷的进程内存查看:/proc/pid ,不过比较难理解

  测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息

  说明:

  /proc/N pid为N的进程信息
  /proc/N/cmdline 进程启动命令
  /proc/N/cwd 链接到进程当前工作目录
  /proc/N/environ 进程环境变量列表
  /proc/N/exe 链接到进程的执行命令文件
  /proc/N/fd 包含进程相关的所有的文件描述符
  /proc/N/maps 与进程相关的内存映射信息
  /proc/N/mem 指代进程持有的内存,不可读
  /proc/N/root 链接到进程的根目录
  /proc/N/stat 进程的状态
  /proc/N/statm 进程使用的内存的状态
  /proc/N/status 进程状态信息,比stat/statm更具可读性
  /proc/self 链接到当前正在运行的进程

  3、可以看到进程中每个资源都占用了多少内存:pmap

  pmap命令可以显示一个或多个进程所使用的内存数量。你可以使用这个工具来了解服务器上的某个进程分配了多少内存,并以此来判断这是否是导致内存瓶颈的原因。要得到更加详细的信息,使用pmap -d选项。

  4、free

  free: invalid option -- h

  usage: free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]

  -b,-k,-m,-g show output in bytes, KB, MB, or GB

  -l show detailed low and high memory statistics

  -o use old format (no -/+buffers/cache line)

  -t display total for RAM + swap

  -s update every [delay] seconds

  -c update [count] times

  -V display version information and exit

参考技术A 你可以用top命令,然后以内存使用情况序,你就可以知道内存使用情况了~很简单的~哈哈~~

你的采纳是我前进的动力,记得好评和采纳,答题不易,互相帮助,
手机提问的朋友在客户端右上角评价点满意即可.
如果你认可我的回答,请及时点击采纳为满意回答按钮!
参考技术B 你可以用top命令,然后以内存使用情况序,你就可以知道内存使用情况了本回答被提问者和网友采纳

Linux环境查看Java应用消耗资源情况

linux线上资源耗时定位
https://www.cnblogs.com/wuchanming/p/7766994.html

1. jps -ml
   查看服务器上运行的Java程序
2. jmap
   查看堆内存
3. jstat
   Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控
   参考:https://www.jianshu.com/p/213710fb9e40 
4. jstack   
   分析线程状态
   参考:https://www.cnblogs.com/wuchanming/p/7766994.html
5. top
   查看正在运行的程序进程
   top 查找出耗CPU资源较多的进程pid
   top -Hp pid 
   jstack pid  看该线程当前的堆栈状态

 

以上是关于如何查看linux上java实例消耗内存的主要内容,如果未能解决你的问题,请参考以下文章

查看占用内存最多的进程

Linux环境查看Java应用消耗资源情况

如何查看unix 的java内存使用情况

怎么查看java程序运行的峰值内存消耗(含虚拟机)和CPU消耗(ms)

linux 进程消耗查看

linux共享内存和mmap的区别