当前位置: 首页>大数据>正文

linux上查看某个进程内存占用情况

Linux上进行开发和运营维护的时候,免不了要查看某一个程序所占用内存的情况。有很多个命令都可以达到我们的需求,这里来罗列下。

/proc/${pid}/status

# 730541是要查看的进程pid
$ cat /proc/730541/status
Name: gedit      # 进程的程序名
State: S (sleeping)      # 进程的状态信息
Tgid: 730541     # 线程组号
Pid: 730541     # 进程pid
PPid: 7672      # 父进程的pid
TracerPid: 0      # 跟踪进程的pid
Uid: 1000    1000    1000    1000      # uid euid suid fsuid
Gid: 1000    1000    1000    1000      # gid egid sgid fsgid
FDSize: 256      # 打开的历史文件描述符总数
Groups: 1007      # 启动该进程的用户所属的组的id
VmPeak: 60184 kB      # 进程地址空间的大小
VmSize: 60180 kB      # 进程虚拟地址空间的大小reserved_vm:进程在预留或特殊的内存间的物理页
VmLck: 0 kB      # 进程已经锁住的物理内存的大小.锁住的物理内存不能交换到硬盘
VmHWM: 18020 kB      # 文件内存映射和匿名内存映射的大小
VmRSS: 1253048 kB      # 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)
VmData: 12240 kB      # 程序数据段的大小(所占虚拟内存的大小),存放初始化了的数据
VmStk: 84 kB      # 进程在用户态的栈的大小
VmExe: 576 kB      # 程序所拥有的可执行虚拟内存的大小,代码段,不包括任务使用的库 
VmLib: 21072 kB      # 被映像到任务的虚拟内存空间的库的大小
VmPTE: 56 kB      # 该进程的所有页表的大小
Threads: 1      # 共享使用该信号描述符的任务的个数
SigQ: 0/8183      # 待处理信号的个数/目前最大可以处理的信号的个数
SigPnd: 0000000000000000      # 屏蔽位,存储了该线程的待处理信号
ShdPnd: 0000000000000000      # 屏蔽位,存储了该线程组的待处理信号
SigBlk: 0000000000000000      # 存放被阻塞的信号
SigIgn: 0000000000001000      # 存放被忽略的信号
SigCgt: 0000000180000000      # 存放被俘获到的信号
CapInh: 0000000000000000      # 能被当前进程执行的程序的继承的能力
CapPrm: 0000000000000000      # 进程能够使用的能力,可以包含CapEff中没有的能力,这些能力是被进程自己临时放弃的
CapEff: 0000000000000000      # 是CapPrm的一个子集,进程放弃没有必要的能力有利于提高安全性
Cpus_allowed: 01      # 可以执行该进程的CPU掩码集
Mems_allowed: 1      # 
voluntary_ctxt_switches: 1241      # 进程主动切换的次数
nonvoluntary_ctxt_switches: 717      # 进程被动切换的次数

ps -aux | head -1; ps -aux | grep 730541

# RSS就是所用物理内存大小
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
runtime   730541 15.4  7.7 10705100 1254120    Sl   Mar25 177:46 java -classpath /opt/orchsym/runtime/conf:/opt/orchsym/runtime/./

top -p ${pid}

$ top -p 730541
top - 11:42:24 up 11 days,  1:29,  3 users,  load average: 0.16, 0.15, 0.17
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.2 us,  0.6 sy,  0.0 ni, 98.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16265572 total,   303660 free, 10792228 used,  5169684 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  5001256 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                           
 730541 runtime   20   0   10.2g   1.2g  75196 S  15.3  7.7 178:10.61 java    
 
 
 
 # PID:进程的ID
# USER:进程所有者
# PR:进程的优先级别,越小越优先被执行
# NInice:值
# VIRT:进程占用的虚拟内存
# RES:进程占用的物理内存
# SHR:进程使用的共享内存
# S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
# %CPU:进程占用CPU的使用率
# %MEM:进程使用的物理内存和总内存的百分比
# TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。178:10.61表示为:178分钟,10秒,十分之6秒,百分之1秒。从右到左分别是百分之一秒,十分之一秒,秒,十秒,分钟。
# COMMAND:进程启动命令名称

https://www.xamrdz.com/bigdata/7q41994173.html

相关文章: