Linux进程运行空间查看

在Linux下,当一个服务程序启动,如何查看这个服务进程内存占用情况?这里简单列出以下linux命令是如何查看的,查看出来的信息表示什么意思

1、首先你要找到你所有查看进程id,方法很多,这里介绍本人常用的方法:

     通过命令ps -ef查看当前系统所有进程信息,然后找到自己关系的那个进程即可,当系统进程很多时,比较麻烦,加上grep命令进行刷选

root@dremi-desktop:~# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 11:41 ?        00:00:00 /sbin/init
root         2     0  0 11:41 ?        00:00:00 [kthreadd]
root         3     2  0 11:41 ?        00:00:00 [migration/0]
root         4     2  0 11:41 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 11:41 ?        00:00:00 [watchdog/0]
root         6     2  0 11:41 ?        00:00:00 [events/0]
root         7     2  0 11:41 ?        00:00:00 [khelper]
root        42     2  0 11:41 ?        00:00:00 [kblockd/0]
如: root@dremi-desktop:~#ps -ef | grep bash

dremi     5993  5990  0 11:44 pts/0    00:00:00 bash
root      6270  6266  0 11:56 pts/1    00:00:00 -bash
root      6379  6270  0 12:00 pts/1    00:00:00 grep bash
root@dremi-desktop:~#
如果知道进程全称,直接用这个命令最方便pidof 进程名称

root@dremi-desktop:~# pidof bash
5993
root@dremi-desktop:~#


2、找到了进出id,下面直接查看该进程运行空间信息,可以查/proc/pid/maps文件,也可以通过pmap命令之间打印出来

root@dremi-desktop:~# cat /proc/5993/maps
08048000-080ef000 r-xp 00000000 08:01 1605637    /bin/bash
080ef000-080f5000 rw-p 000a6000 08:01 1605637    /bin/bash
080f5000-08312000 rw-p 080f5000 00:00 0          [heap]
b7bd2000-b7bdc000 r-xp 00000000 08:01 17500      /lib/tls/i686/cmov/libnss_files-2.11.1.so
b7bdc000-b7bdd000 r--p 00009000 08:01 17500      /lib/tls/i686/cmov/libnss_files-2.11.1.so
b7bdd000-b7bde000 rw-p 0000a000 08:01 17500      /lib/tls/i686/cmov/libnss_files-2.11.1.so
b7bde000-b7be6000 r-xp 00000000 08:01 17504      /lib/tls/i686/cmov/libnss_nis-2.11.1.so
b7be6000-b7be7000 r--p 00007000 08:01 17504      /lib/tls/i686/cmov/libnss_nis-2.11.1.so
b7be7000-b7be8000 rw-p 00008000 08:01 17504      /lib/tls/i686/cmov/libnss_nis-2.11.1.so
b7be8000-b7bfb000 r-xp 00000000 08:01 17494      /lib/tls/i686/cmov/libnsl-2.11.1.so
b7bfb000-b7bfc000 r--p 00012000 08:01 17494      /lib/tls/i686/cmov/libnsl-2.11.1.so
b7bfc000-b7bfd000 rw-p 00013000 08:01 17494      /lib/tls/i686/cmov/libnsl-2.11.1.so

root@dremi-desktop:~# pmap 5993
5993:   bash
08048000    668K r-x--  /bin/bash
080ef000     24K rw---  /bin/bash
080f5000   2164K rw---    [ anon ]
b7bd2000     40K r-x--  /lib/tls/i686/cmov/libnss_files-2.11.1.so
b7bdc000      4K r----  /lib/tls/i686/cmov/libnss_files-2.11.1.so
b7bdd000      4K rw---  /lib/tls/i686/cmov/libnss_files-2.11.1.so
b7bde000     32K r-x--  /lib/tls/i686/cmov/libnss_nis-2.11.1.so
b7be6000      4K r----  /lib/tls/i686/cmov/libnss_nis-2.11.1.so
b7be7000      4K rw---  /lib/tls/i686/cmov/libnss_nis-2.11.1.so
b7be8000     76K r-x--  /lib/tls/i686/cmov/libnsl-2.11.1.so
b7bfb000      4K r----  /lib/tls/i686/cmov/libnsl-2.11.1.so
b7bfc000      4K rw---  /lib/tls/i686/cmov/libnsl-2.11.1.so

上面显示结果表示的意思,下面会作介绍,

通常我习惯用这两种方法:

root@dremi-desktop:~# cat /proc/`pidof bash`/maps
08048000-080ef000 r-xp 00000000 08:01 1605637    /bin/bash
080ef000-080f5000 rw-p 000a6000 08:01 1605637    /bin/bash
080f5000-08312000 rw-p 080f5000 00:00 0          [heap]
b7bd2000-b7bdc000 r-xp 00000000 08:01 17500      /lib/tls/i686/cmov/libnss_files-2.11.1.so
b7bdc000-b7bdd000 r--p 00009000 08:01 17500      /lib/tls/i686/cmov/libnss_files-2.11.1.so
b7bdd000-b7bde000 rw-p 0000a000 08:01 17500      /lib/tls/i686/cmov/libnss_files-2.11.1.so

root@dremi-desktop:~#  pmap `pidof bash`
5993
08048000    668K r-x--  /bin/bash
080ef000     24K rw---  /bin/bash
080f5000   2164K rw---    [ anon ]
b7bd2000     40K r-x--  /lib/tls/i686/cmov/libnss_files-2.11.1.so
b7bdc000      4K r----  /lib/tls/i686/cmov/libnss_files-2.11.1.so

3、显示的信息表示的意思:

每个区间都有四个属性:  
r 表示可以读取。  
w 表示可以修改。  
x 表示可以执行。  
p/s 表示是否为共享内存。  
有文件名的内存区间,属性为r—p表示存放的是rodata。  
有文件名的内存区间,属性为rw-p表示存放的是bss和data  
有文件名的内存区间,属性为r-xp表示存放的是text数据。  
没有文件名的内存区间,表示用mmap映射的匿名空间。  
文件名为[stack]的内存区间表示是栈。  
文件名为[heap]的内存区间表示是堆。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值