• Linux下内存的几个基本概念


    先介绍几个基本概念:

    SIZE: 进程使用的地址空间, 如果进程映射了100M的内存, 进程的地址空间将报告为100M内存. 事实上, 这个大小不是一个程序实际使用的内存数.

    RSS: "Resident Set Size", 实际驻留"在内存中"的内存数. 不包括已经交换出去的代码. 举一个例子: 如果你有一个程序使用了100K内存, 操作系统交换出40K内存, 那么RSS为60K. RSS还包括了与其它进程共享的内存区域. 这些区域通常用于libc库等.

    SHARE: RSS中与其它进程共享的内存部分大小.

    VMSIZE: 一个进程占用的总的地址空间大小. 它包括了没有映射到内存中的页面.

    Private RSS: 映射到内存中的页面, 这些页面仅由进程单独使用. 这也是我们最关心地方: 进程实际占用的内存数.

    如何来查看Private RSS呢? /proc接口中每一个进程目录下的smaps提供了private rss信息. smaps是在2.6.16内核版本引进来的.

    私有驻留内存数(Private RSS):
    查看/proc/$pid/smaps

    下面我以本站使用的Fedora Core 5为例, 查看进程号1293(vmware-guestd, 本站使用的是一台基于vmware的客户虚拟机, 微睦独立主机)使用的Private RSS数.

    CODE:
    # cat /proc/1293/smaps 
    00111000-00112000 rwxp 00111000 00:00 0 
    Size: 4 kB
    Rss: 4 kB
    Shared_Clean: 0 kB
    Shared_Dirty: 0 kB
    Private_Clean: 0 kB
    Private_Dirty: 4 kB
    0050e000-0050f000 rwxp 0050e000 00:00 0 
    Size: 4 kB
    Rss: 0 kB
    Shared_Clean: 0 kB
    Shared_Dirty: 0 kB
    Private_Clean: 0 kB
    Private_Dirty: 0 kB
  • 相关阅读:
    CF | Alyona and Mex
    ACM | HDU|6227_Rabbit
    计蒜客 | 拓扑排序 | 虎威山上的分配
    ACM Secrete Master Plan
    map————两个数组的交集(2)
    set 集合————两个数组的交集
    哈希表、数组————有效的字母异位词
    贪心算法,双指针————分发饼干
    堆————数据流的第k个大的元素
    容器————priority_queue
  • 原文地址:https://www.cnblogs.com/tibetanmastiff/p/3608610.html
Copyright © 2020-2023  润新知