如何查看进程实际的内存占用情况详解

 更新时间:2013年05月23日 15:17:01   作者:  
本篇文章是对如何查看进程实际的内存占用情况进行了详细的分析介绍,需要的朋友参考下

top命令可以查看进程内存的使用,但是不够详细。还有一些命令可以进行更加详细的查看。

[root@localhost ~]# cat /proc/5606/status
Name:   switch4
State:  S (sleeping)
Tgid:   5606
Pid:    5606
PPid:   1
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
Utrace: 0
FDSize: 32
Groups: 0 1 2 3 4 6 10
VmPeak:    85328 kB
VmSize:    84308 kB——进程占用的虚拟内存大小。
VmLck:         0 kB
VmHWM:     46368 kB
VmRSS:     46360 kB——占用的物理内存。
VmData:    76512 kB——data段内存大小(BSS,data)
VmStk:        88 kB——栈大小。
VmExe:       312 kB——代码段大小。
VmLib:      6868 kB——库大小
VmPTE:       148 kB
VmSwap:        0 kB
Threads:        4
SigQ:   1/31237
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000005
SigCgt: 0000000180005202
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: ffffffffffffffff
CapBnd: ffffffffffffffff
Cpus_allowed:   ff
Cpus_allowed_list:      0-7
Mems_allowed:   1
Mems_allowed_list:      0
voluntary_ctxt_switches:        116683469
nonvoluntary_ctxt_switches:     301173


[root@localhost ~]# cat /proc/5627/smaps
00110000-00112000 r-xp 00000000 08:02 652817     /home/mic_lib_2012-04-21-03-16-32/libdb.so
Size:                  8 kB
Rss:                   8 kB
Pss:                   1 kB
Shared_Clean:          8 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:            8 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
00112000-00113000 rw-p 00001000 08:02 652817     /home/mic_lib_2012-04-21-03-16-32/libdb.so
Size:                  4 kB
Rss:                   4 kB
Pss:                   4 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         4 kB
Referenced:            4 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
08048000-080a2000 r-xp 00000000 08:02 1044485    /home/execute_2012-04-21-03-16-32/mrfc
Size:                360 kB——虚拟内存
Rss:                 156 kB——物理内存
Pss:                 156 kB
Shared_Clean:          0 kB——共享部分,动态链接库
Shared_Dirty:          0 kB
Private_Clean:       156 kB——私有部分。
Private_Dirty:         0 kB
Referenced:          156 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
09f43000-09f87000 rw-p 00000000 00:00 0          [heap]——堆的内存
Size:                272 kB
Rss:                 184 kB
Pss:                 184 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:       184 kB
Referenced:          184 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
b6cfc000-b6cfd000 ---p 00000000 00:00 0
Size:                  4 kB
Rss:                   0 kB
Pss:                   0 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:            0 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
b6cfd000-b7703000 rw-p 00000000 00:00 0
Size:              10264 kB
Rss:                  28 kB
Pss:                  28 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:        28 kB
Referenced:           28 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
b7714000-b7716000 rw-p 00000000 00:00 0
Size:                  8 kB
Rss:                   8 kB
Pss:                   8 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         8 kB
Referenced:            8 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
bfed4000-bfee9000 rw-p 00000000 00:00 0          [stack]——栈的内存。
Size:                 88 kB
Rss:                  44 kB
Pss:                  44 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:        44 kB
Referenced:           44 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB

相关文章

  • 一文详解Qt中线程的实际应用

    一文详解Qt中线程的实际应用

    为了让程序尽快响应用户操作,在开发应用程序时经常会使用到线程。这篇文章就来和大家介绍一下Qt中线程的实际应用,感兴趣的小伙伴可以了解一下
    2023-03-03
  • 解析C#中不一样的大小写转换

    解析C#中不一样的大小写转换

    本篇文章是对C#中大小写转换的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C基础 寻找随机函数的G点详解

    C基础 寻找随机函数的G点详解

    下面小编就为大家带来一篇C基础 寻找随机函数的G点详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • C++空类详解

    C++空类详解

    以下是对C++中的空类进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • C++实现旋转数组的二分查找

    C++实现旋转数组的二分查找

    这篇文章主要介绍了C++实现旋转数组的二分查找方法,涉及数组的操作,有值得借鉴的技巧,需要的朋友可以参考下
    2014-09-09
  • C语言模拟实现strstr函数的示例代码

    C语言模拟实现strstr函数的示例代码

    strstr是C语言中的函数,作用是返回字符串中首次出现子串的地址。本文将用C语言模拟实现strstr函数,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-07-07
  • 浅析stl序列容器(map和set)的仿函数排序

    浅析stl序列容器(map和set)的仿函数排序

    有序的stl容器在工程中应用什么方便和广泛,但是当我们需要自己的排序的时候,可以用仿函数来设置它
    2013-09-09
  • 基于C++11的threadpool线程池(简洁且可以带任意多的参数)

    基于C++11的threadpool线程池(简洁且可以带任意多的参数)

    C++11 加入了线程库,从此告别了标准库不支持并发的历史。然而 c++ 对于多线程的支持还是比较低级,稍微高级一点的用法都需要自己去实现,譬如线程池、信号量等
    2019-04-04
  • 详解C标准库堆内存函数

    详解C标准库堆内存函数

    在C/C++语言中,我们知道内存分为这几种:程序全局变量内存、栈内存、堆内存。其中堆内存就是通过malloc(new)来分配的内存,本文我们来探讨一下C标准库堆内存函数。
    2021-06-06
  • C++ Boost Spirit精通教程

    C++ Boost Spirit精通教程

    Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
    2022-11-11

最新评论