在Linux上,可以使用top、pmap这两个命令来检查内存使用情况
顶级
top是linux上常用的性能分析工具,可以查看每个进程的资源消耗情况。
$top
特开21:52:03up521days、4:59、2 users、load average :0.02、0.04、0.06
Tasks:87total,1running,84sleeping,2stopped,0zombie
CPU ) s ) :0.7%us、0.7%sy、0.0%ni、98.7%id、0.0%wa、0.0%hi、0.0%si、0.0%st
Mem:1018600ktotal、931668kused、86932kfree和22444kbuffers
Swap:0ktotal,0kused,0kfree,93136kcached
piduserprnivirtresshrs % CPU % memtimecommand
1345 cc 2002296 m326 m 2036 s 0.032.8194336005.56 Java
2926 cc 2002335 m320 m 4688 s 0.332.219336008.68 Java
4152 MySQL 200698 m 41 m 3144 s 0.04.2241336043.29 mysqld
5548 cc 2001034 M15 m 476 s 0.01.50:00.23 node
前五行是资源使用摘要信息。 第四行的Mem是内存使用情况
Mem:1018600ktotal、931668kused、86932kfree和22444kbuffers
汇总的存储器信息被总存储器、已使用的存储器、可用的存储器、缓冲存储器占用
进程占用资源的情况,输出内容:
PID :进程的ID
用户:进程所有者
PR :进程的优先级级别越小优先执行
NI:nice值。 负值表示高优先级,正值表示低优先级
VIRT :进程消耗的虚拟内存
RES :进程消耗的物理内存
SHR :进程使用的共享内存
s :进程的状态。 s表示休眠,r表示执行中,z表示僵硬状态,n表示该进程的优先值为负
%CPU :进程占用了CPU的使用率
%MEM :进程使用的物理内存和总内存的百分比
TIME自进程启动以来所用的CPU时间总量。 也就是说,CPU使用时间的累计值。
COMMAND :进程开始命令名称
%MEM是已使用的内存百分比。
快捷键
进入top界面后,可以使用m和m两个快捷键。
(m )内存资源概要和第4行和第5行的显示/隐藏
m :进程消耗资源的%MEM列按降序排列
pmap
如果需要查看进程占用内存的详细信息,可以使用pmap
$pmap-dpid
pid可以使用ps进行查询。
输出功率
$pmap-d33488
33488:/usr/bin/javaxxx
addresskbytesmodeoffsetdevicemapping
0000000000400000000000000000 r-x---0000000000000 ca :000000001 Java
000000000600000008 rw---- 000000000000000 ca :0000001 Java
00000000015 cf 0000928 rw---- 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
pmap列出了与进程id相对应的命令和内存地址的映射情况。