Linux教程之Centos 利用ps下令检察历程的内存
欢迎大家来到仓酷云论坛!用ps下令检察历程的内存ps下令是Linux下罕见的检察历程情况的步伐,它有几个字段能够用来检察历程内存利用情形:sz,rss,vsz。分离申明以下:
sz:历程映像所占用的物理页面数目,也就是以物理页面为单元暗示的假造内存巨细;
rss:历程以后所占用的物理内存巨细,单元为kB;
vsz:历程的假造内存巨细,单元为kB,它即是sz乘于物理页面巨细(x86平台一般为4kB)。
假设我要检察步伐a.out的内存利用情形,操纵以下:
$./a.out&
10069
$ps-Osz,rsz,vsz
PIDSZRSSVSZSTTYTIMECOMMAND
6793154536486180Spts/200:00:00/bin/bash
100694043041616Spts/200:00:00./a.out
100706268762504Rpts/200:00:00ps-Osz,rss,vsz
下面ps下令的输入的第3行就是./a.out自行后的相干情形。我们能够看出,它的假造内存巨细为1616kB,以后占用的物理内存为304kB(别的数据在磁盘上或互换分区),虚拟内存占用404个物理页面。因为我的呆板的物理页面巨细为4kB,能够考证404x4kB即是1616kB。
用/proc文件体系检察历程的内存利用情形
ps下令的输入关于内存的情形不是很具体,特别是历程所利用的内存中有很年夜一部分是同享库函数利用的,因而经由过程ps下令的输入看不到历程本人利用了几内存。为了检察更具体的信息,能够借助于/proc文件体系。这个文件体系并存在于磁盘上,可是能够象操纵别的一般文件一样操纵它。它是Linux供应给用户检察历程相干信息的接口。在/proc下有2个文件和历程内存有关:/proc/<pid>/status和/proc/<pid>/smaps。
经由过程/proc/<pid>/status能够检察历程的内存利用情形,包含假造内存巨细(VmSize),物理内存巨细(VmRSS),数据段巨细(VmData),栈的巨细(VmStk),代码段的巨细(VmExe),同享库的代码段巨细(VmLib)等等。
$cat/proc/10069/status
Name:a.out
State:S(sleeping)
Tgid:10069
Pid:10069
PPid:6793
TracerPid:0
Uid:1001100110011001
Gid:1001100110011001
FDSize:256
Groups:10001001
VmPeak:1692kB
VmSize:1616kB
VmLck:0kB
VmHWM:304kB
VmRSS:304kB
VmData:28kB
VmStk:88kB
VmExe:4kB
VmLib:1464kB
VmPTE:20kB
Threads:1
SigQ:0/16382
SigPnd:0000000000000000
ShdPnd:0000000000000000
SigBlk:0000000000000000
SigIgn:0000000000000000
SigCgt:0000000000000000
CapInh:0000000000000000
CapPrm:0000000000000000
CapEff:0000000000000000
CapBnd:ffffffffffffffff
Cpus_allowed:f
Cpus_allowed_list:0-3
Mems_allowed:1
Mems_allowed_list:0
voluntary_ctxt_switches:1
nonvoluntary_ctxt_switches:1
注重,VmData,VmStk,VmExe和VmLib之和其实不即是VmSize。这是由于同享库函数的数据段没有盘算出来(VmData仅包括a.out步伐的数据段,不包含同享库函数的数据段,也不包含经由过程mmap映照的地区。VmLib仅包含同享库的代码段,不包含同享库的数据段)。
经由过程/proc/<pid>/smaps能够检察历程全部假造地点空间的映照情形,它的输入从低地点到洼地址按按次输入每个映照地区的相干信息,以下所示:
$cat/proc/10069/smaps
00110000-00263000r-xp0000000008:07128311/lib/tls/i686/cmov/libc-2.11.1.so
Size:1356kB
Rss:148kB
Pss:8kB
Shared_Clean:148kB
Shared_Dirty:0kB
Private_Clean:0kB
Private_Dirty:0kB
Referenced:148kB
Swap:0kB
KernelPageSize:4kB
MMUPageSize:4kB
......
......
bfd7f000-bfd94000rw-p0000000000:000
Size:88kB
Rss:8kB
Pss:8kB
Shared_Clean:0kB
Shared_Dirty:0kB
Private_Clean:0kB
Private_Dirty:8kB
Referenced:8kB
Swap:0kB
KernelPageSize:4kB
MMUPageSize:4kB
注重:rwxp中,p暗示公有映照(接纳Copy-On-Write手艺)。Size字段就是该地区的巨细。
参考文献
ps(1)-O选项。
proc(5)/proc//status和/proc//smaps条目。
欢迎大家来到仓酷云论坛! 在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。 Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。 为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。? 最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。 尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。 其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!? 随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。 任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
页:
[1]