当前位置:首页 > 内存 > 正文

java查看内存使用情况

  • 内存
  • 2024-06-10 07:53:43
  • 8156

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

​mpstat-PALL和sar-PALL

将输出内容重定向到文件

intop命令常用于监控Linux系统状态,如程序员都知道这个命令,但奇怪的是很少有人能很好的使用它,监控顶视图是有很多误解的,下面的方法可以链接Java实例消耗的内存。

命令high是一个Linux上常用的性能分析工具,可以显示资源使用情况。系统中任何进程的实时信息,类似于Windows任务管理器

内容说明:

PID:进程ID
USAGE:进程的所有者
PR:进程的优先级,越低运行优先级越高
Ninice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程状态。S表示睡眠,R表示运行,Z表示僵尸状态,N表示进程优先级值为负
%CPU:进程占用的CPU利用率
%MEM:进程使用的物理内存和总内存processPercentageof
TIME+:进程启动后占用的CPU时间总和,即CPU使用时间的累计值。
COMMAND:进程启动命令名称

常用命令:

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

2、方便查看进程内存:/proc/pid,但比较难理解

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

说明:

/proc/Npid是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选项。

​free:无效选项--h

​用法:free[-b|-k|-m|-g][-l][-o][-t][-sdelay][-ccount][-V]

:-b,-k,-m,-g以字节、KB、MB或GB为单位显示输出

-lstrego详细的低内存统计信息

-useoldformat(no-/+buffers/cacheline)

-tdisplaytotalforRAM+swap

-supdatedo[late]seconds

:-c更新[count]她的

:-V显示版本信息并退出


二、如何看一段JAVA代码耗了多少内存

使用Java自带的性能分析工具jvisualvm,可以轻松查看内存、对象、线程等各种信息。

win+R然后输入jvisualvm返回Justdrive

效果如下图