如何查看java进程内存占用情况

 更新时间:2023年12月05日 09:05:34   作者:wangpeng1201  
这篇文章主要介绍了如何查看java进程内存占用情况问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

查看运行的jar的进程

ps -aux|grep java

查看到的进程号为5031

通过命令查看进程的情况

cat /proc/$PID/status

参数说明

  • VmPeak代表当前进程运行过程中占用内存的峰值.
  • VmSize代表进程现在正在占用的内存
  • VmLck代表进程已经锁住的物理内存的大小.锁住的物理内存不能交换到硬盘.
  • VmHWM是程序得到分配到物理内存的峰值.
  • VmRSS是程序现在使用的物理内存.
  • VmData:表示进程数据段的大小.
  • VmStk:表示进程堆栈段的大小.
  • VmExe:表示进程代码的大小.
  • VmLib:表示进程所使用LIB库的大小.
  • VmPTE:占用的页表的大小.
  • VmSwap:进程占用Swap的大小.
  • Threads:表示当前进程组的线程数量.
  • SigPnd:屏蔽位,存储了该线程的待处理信号,等同于线程的PENDING信号.
  • ShnPnd:屏蔽位,存储了该线程组的待处理信号.等同于进程组的PENDING信号.
  • SigBlk:存放被阻塞的信号,等同于BLOCKED信号.
  • SigIgn:存放被忽略的信号,等同于IGNORED信号.
  • SigCgt:存放捕获的信号,等同于CAUGHT信号.
  • CapEff:当一个进程要进行某个特权操作时,操作系统会检查cap_effective的对应位是否有效,而不再是检查进程的有效UID是否为0.
  • CapPrm:表示进程能够使用的能力,在cap_permitted中可以包含cap_effective中没有的能力,这些能力是被进程自己临时放弃的,也可以说cap_effective是cap_permitted的一个子集.
  • CapInh:表示能够被当前进程执行的程序继承的能力.
  • CapBnd:是系统的边界能力,我们无法改变它.
  • Cpus_allowed:3指出该进程可以使用CPU的亲和性掩码,因为我们指定为两块CPU,所以这里就是3,如果该进程指定为4个CPU(如果有话),这里就是F(1111).
  • Cpus_allowed_list:0-1指出该进程可以使用CPU的列表,这里是0-1.
  • voluntary_ctxt_switches表示进程主动切换的次数.
  • nonvoluntary_ctxt_switches表示进程被动切换的次数.

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论