• Linux /proc/meminfo结果内容详解


    cat /proc/meminfo 命令结果详细解释

    MemTotal:        3881484 kB
    MemFree:          148408 kB
    MemAvailable:     117344 kB
    Buffers:               0 kB
    Cached:           112432 kB
    SwapCached:        25096 kB
    Active:           990340 kB
    Inactive:         473152 kB
    Active(anon):     940316 kB
    Inactive(anon):   432856 kB
    Active(file):      50024 kB
    Inactive(file):    40296 kB
    Unevictable:           0 kB
    Mlocked:               0 kB
    SwapTotal:       4063228 kB
    SwapFree:        2500468 kB
    Dirty:                 0 kB
    Writeback:             0 kB
    AnonPages:       1334436 kB
    Mapped:            27888 kB
    Shmem:             22112 kB
    Slab:             122196 kB
    SReclaimable:      88120 kB
    SUnreclaim:        34076 kB
    KernelStack:        3968 kB
    PageTables:        12068 kB
    NFS_Unstable:          0 kB
    Bounce:                0 kB
    WritebackTmp:          0 kB
    CommitLimit:     6003968 kB
    Committed_AS:    3432596 kB
    VmallocTotal:   34359738367 kB
    VmallocUsed:      151372 kB
    VmallocChunk:   34359341052 kB
    HardwareCorrupted:     0 kB
    AnonHugePages:   1067008 kB
    CmaTotal:              0 kB
    CmaFree:               0 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    DirectMap4k:       92096 kB
    DirectMap2M:     4102144 kB
    DirectMap1G:     2097152 kB


    MemTotal:所有可用的内存大小,物理内存减去预留位和内核使用。系统从加电开始到引导完成,firmware/BIOS要预留一些内存,内核本身要占用一些内存,最后剩下可供内核支配的内存就是MemTotal。这个值在系统运行期间一般是固定不变的,重启会改变。

    MemFree:表示系统尚未使用的内存。

    MemAvailable:真正的系统可用内存,系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer、slab都有一部分可以回收,所以这部分可回收的内存加上MemFree才是系统可用的内存

    Buffers:用来给块设备做缓存的内存,(文件系统的 metadata、pages)

    Cached:分配给文件缓冲区的内存,例如vi一个文件,就会将未保存的内容写到该缓冲区

    SwapCached:被高速缓冲存储用的交换空间(硬盘的swap)的大小

    active:经常使用的高速缓冲存储器页面文件大小

    Inactive:不经常使用的高速缓冲存储器文件大小

    Active(anon):活跃的匿名内存

    Inactive(anon):不活跃的匿名内存

    Active(file):活跃的文件使用内存

    Inactive(file):不活跃的文件使用内存

    Unevictable:不能被释放的内存页

    Mlocked:系统调用 mlock 家族允许程序在物理内存上锁住它的部分或全部地址空间。这将阻止Linux 将这个内存页调度到交换空间(swap space),即使该程序已有一段时间没有访问这段空间

    SwapTotal:交换空间总内存

    SwapFree:交换空间空闲内存

    Dirty:等待被写回到磁盘的

    Writeback:正在被写回的

    AnonPages:未映射页的内存/映射到用户空间的非文件页表大小

    Mapped:映射文件内存

    Shmem:已经被分配的共享内存

    Slab:内核数据结构缓存

    SReclaimable:可收回slab内存

    SUnreclaim:不可收回slab内存

    KernelStack:内核消耗的内存

    PageTables:管理内存分页的索引表的大小

    NFS_Unstable:不稳定页表的大小

    Bounce:在低端内存中分配一个临时buffer作为跳转,把位于高端内存的缓存数据复制到此处消耗的内存

    WritebackTmp:FUSE用于临时写回缓冲区的内存

    CommitLimit:系统实际可分配内存

    Committed_AS:系统当前已分配的内存

    VmallocTotal:预留的虚拟内存总量

    VmallocUsed:已经被使用的虚拟内存

    VmallocChunk:可分配的最大的逻辑连续的虚拟内存

    HardwareCorrupted:当系统检测到内存的硬件故障时删除掉的内存页的总量

    AnonHugePages:匿名大页缓存

    CmaTotal:连续可用内存总量

    CmaFree:空闲连续可用内存

    HugePages_Total:预留的大页内存总量

    HugePages_Free:空闲的大页内存

    HugePages_Rsvd:已经被应用程序分配但尚未使用的大页内存

    HugePages_Surp:初始大页数与修改配置后大页数的差值

    Hugepagesize:单个大页内存的大小

    DirectMap4k:映射TLB为4kB的内存数量

    DirectMap2M:映射TLB为2M的内存数量

    DirectMap1G:映射TLB为1G的内存数量

  • 相关阅读:
    LeetCode–打印从1到最大的n位数
    常用十大算法(十)— 踏棋盘算法
    常用十大算法(九)— 弗洛伊德算法
    常用十大算法(八)— 迪杰斯特拉算法
    LeetCode–组合
    LeetCode–组合总和
    5513. 连接所有点的最小费用 kruskal
    152. 乘积最大子数组 dp
    1567. 乘积为正数的最长子数组长度 dp
    5481. 得到目标数组的最少函数调用次数. 位运算
  • 原文地址:https://www.cnblogs.com/VicLiu/p/15127088.html
Copyright © 2020-2023  润新知