用ps命令查看进程的内存
ps
命令是Linux下常见的查看进程状况的程序,它有几个字段可以用来查看 进程内存使用情况:sz,rss,vsz。分别说明如下:
- sz:进程映像所占用的物理页面数量,也就是以物理页面为单位表示的虚拟内存大小;
- rss:进程当前所占用的物理内存大小,单位为kB;
- vsz:进程的虚拟内存大小,单位为kB,它等于sz乘于物理页面大小(x86平台通常为4kB)。
假如我要查看程序a.out的内存使用情况,操作如下:
$ ./a.out & [1] 10069 $ ps -O sz,rsz,vsz PID SZ RSS VSZ S TTY TIME COMMAND 6793 1545 3648 6180 S pts/2 00:00:00 /bin/bash 10069 404 304 1616 S pts/2 00:00:00 ./a.out 10070 626 876 2504 R pts/2 00:00:00 ps -O sz,rss,vsz
上面ps命令的输出的第3行就是./a.out自行后的相关情况。我们可以看出,它的虚拟 内存大小为1616kB,当前占用的物理内存为304kB(其它数据在磁盘上或交换分区),虚 拟内存占用404个物理页面。由于我的机器的物理页面大小为4kB,可以验证404 x 4kB等于1616kB。