unix系统查看进程占用内存的方法
2014-06-01 16:02
411 查看
(1)ps 命令查看:
gb@gb-virtual-machine:/proc/19204$ ps -O sz,rsz,vsz 19204
PID SZ RSZ VSZ S TTY TIME COMMAND
19204 78192 1004 312768 S ? 00:00:00 ./memcached -p 11211 -m 3096m -d
sz:进程映像所占用的物理页面数量,也就是以物理页面为单位表示的虚拟内存大小;
rss:进程当前所占用的物理内存大小,单位为kB;
vsz:进程的虚拟内存大小,单位为kB,它等于sz乘于物理页面大小(x86平台通常为4kB)。
上面的例子中,虚拟内存占用312768KB,实际占用物理内存为 1004 KB,物理页面数量为 78192 ,这里有 78192 * 4K = 312768
(2)用/proc文件系统查看占用内存情况:
通过/proc/<pid>/status可以查看进程的内存使用情况,包括虚拟内 存大小(VmSize),物理内存大小(VmRSS),数据段大小(VmData),栈的大小 (VmStk),代码段的大小(VmExe),共享库的代码段大小(VmLib)等等。
gb@gb-virtual-machine:/proc/19204$ cat /proc/19204/status
Name: memcached
State: S (sleeping)
Tgid: 19204
Ngid: 0
Pid: 19204
PPid: 1
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
FDSize: 64
Groups: 4 24 27 30 46 108 124 1000
VmPeak: 312768 kB
VmSize: 312768 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 1004 kB
VmRSS: 1004 kB
VmData: 304052 kB
VmStk: 136 kB
VmExe: 108 kB
VmLib: 2280 kB
VmPTE: 72 kB
VmSwap: 0 kB
Threads: 6
SigQ: 0/31457
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001001
SigCgt: 0000000180000002
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000001fffffffff
Seccomp: 0
Cpus_allowed: f
Cpus_allowed_list: 0-3
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 2315
nonvoluntary_ctxt_switches: 0
这里 VmRSS: 1004 kB为占用物理内存大小,虚拟内存大小为: VmSize:
312768 kB
gb@gb-virtual-machine:/proc/19204$ ps -O sz,rsz,vsz 19204
PID SZ RSZ VSZ S TTY TIME COMMAND
19204 78192 1004 312768 S ? 00:00:00 ./memcached -p 11211 -m 3096m -d
ps命令是Linux下常见的查看进程状况的程序,它有几个字段可以用来查看 进程内存使用情况:sz,rss,vsz。分别说明如下:
sz:进程映像所占用的物理页面数量,也就是以物理页面为单位表示的虚拟内存大小;
rss:进程当前所占用的物理内存大小,单位为kB;
vsz:进程的虚拟内存大小,单位为kB,它等于sz乘于物理页面大小(x86平台通常为4kB)。
上面的例子中,虚拟内存占用312768KB,实际占用物理内存为 1004 KB,物理页面数量为 78192 ,这里有 78192 * 4K = 312768
(2)用/proc文件系统查看占用内存情况:
通过/proc/<pid>/status可以查看进程的内存使用情况,包括虚拟内 存大小(VmSize),物理内存大小(VmRSS),数据段大小(VmData),栈的大小 (VmStk),代码段的大小(VmExe),共享库的代码段大小(VmLib)等等。
gb@gb-virtual-machine:/proc/19204$ cat /proc/19204/status
Name: memcached
State: S (sleeping)
Tgid: 19204
Ngid: 0
Pid: 19204
PPid: 1
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
FDSize: 64
Groups: 4 24 27 30 46 108 124 1000
VmPeak: 312768 kB
VmSize: 312768 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 1004 kB
VmRSS: 1004 kB
VmData: 304052 kB
VmStk: 136 kB
VmExe: 108 kB
VmLib: 2280 kB
VmPTE: 72 kB
VmSwap: 0 kB
Threads: 6
SigQ: 0/31457
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001001
SigCgt: 0000000180000002
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000001fffffffff
Seccomp: 0
Cpus_allowed: f
Cpus_allowed_list: 0-3
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 2315
nonvoluntary_ctxt_switches: 0
这里 VmRSS: 1004 kB为占用物理内存大小,虚拟内存大小为: VmSize:
312768 kB
相关文章推荐
- Linux系统中查看执行中的进程占用内存量的方法
- ubuntu查看系统资源占用(内存,cpu和进程)
- Linux中查看进程占用内存和系统资源情况的命令
- 查看进程占用内存大小的几种方法
- ubuntu查看系统资源占用(内存,cpu和进程)
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- LINUX进程内存占用查看方法
- LINUX进程内存占用查看方法
- ubuntu查看系统资源占用(内存,cpu和进程)
- 查看进程占用系统资源的方法
- Linux下查看某一进程所占用内存的方法
- 查看linux被隐藏进程的内存占用方法,可用于监控进程是否内存泄漏
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- ubuntu查看系统资源占用(内存,cpu和进程)
- LINUX进程内存占用查看方法
- [转载]查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- LINUX进程内存占用查看方法
- ubuntu查看系统资源占用(内存,cpu和进程)
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法