Linux系统内存使用率总结

来源:互联网 发布:115网盘淘宝暗号 编辑:程序博客网 时间:2024/05/20 06:53

Linux系统可以通过cat /proc/meminfo命令查看内存使用情况:
MemTotal:        3934164 kB
MemFree:          307128 kB
Buffers:          148556 kB
Cached:          1051540 kB
SwapCached:       213796 kB
Active:          2309512 kB
Inactive:         990744 kB
Active(anon):    1710288 kB
Inactive(anon):   458576 kB
Active(file):     599224 kB
Inactive(file):   532168 kB
Unevictable:          16 kB
Mlocked:              16 kB
SwapTotal:       3905532 kB
SwapFree:        2783096 kB
Dirty:              2248 kB
Writeback:             0 kB
AnonPages:       2004748 kB
Mapped:            77460 kB
Shmem:             68704 kB
Slab:             139636 kB
SReclaimable:     104656 kB
SUnreclaim:        34980 kB
KernelStack:        3680 kB
PageTables:        39604 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     5872612 kB
Committed_AS:    4098244 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      384644 kB
VmallocChunk:   34359330292 kB
HardwareCorrupted:     0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       12288 kB
DirectMap2M:     4067328 kB


 

下面是对各个选项的分析:

转自:http://bbs.chinaunix.net/thread-1929969-1-1.html

Provides information about distribution and utilization of memory.  This
varies by architecture and compile options.  The following is from a
16GB PIII, which has highmem enabled.  You may not have all of these fields.

    MemTotal: 所有可用RAM大小 (即物理内存减去一些预留位和内核的二进制代码大小)
    MemFree: LowFree与HighFree的总和
    Buffers: 用来给块设备做的缓冲大小(只记录文件系统的metadata以及 tracking in-flight pages,就是说 buffers是用来存储,目录里面有什么内容,权限等等。)
    Cached: 用来给文件做缓冲大小(直接用来记忆我们打开的文件). 它不包括SwapCached
    SwapCached: 已经被交换出来的内存,但仍然被存放在swapfile中。用来在需要的时候很快的被替换而不需要再次打开I/O端口。
    Active: 最近经常被使用的内存,除非非常必要否则不会被移作他用.
    Inactive: 最近不经常被使用的内存,非常用可能被用于其他途径.
    HighTotal:
    HighFree: 高位内存是指所有在860MB以上的内存空间,该区域主要用于用户空间的程序或者是缓存页面。内核必须使用不同的手法使用该段内存,因此它比低位内存要慢一些。
    LowTotal:
    LowFree: 低位可以达到高位内存一样的作用,而且它还能够被内核用来记录一些自己的数据结构。
                   Among many other things, it is where everything from the Slab is
                   allocated.  Bad things happen when you're out of lowmem.

    SwapTotal: 交换空间的总和
    SwapFree: 从RAM中被替换出暂时存在磁盘上的空间大小
    Dirty: 等待被写回到磁盘的内存大小。
    Writeback: 正在被写回到磁盘的内存大小。
    Mapped: 影射文件的大小。
    Slab: 内核数据结构缓存
    VmallocTotal: vmalloc内存大小
    VmallocUsed: 已经被使用的虚拟内存大小。
    VmallocChunk: largest contigious block of vmalloc area which is free

    CommitLimit:
    Committed_AS:

 

Linux内存计算方法:

1、MemTotal值作为总内存

2、空闲内存计算方式:如果Cached值大于MemTotal值则空闲内存为MemFree值,否则空闲内存为MemFree值+Buffers值+Cached值

3、内存使用率为:空闲内存/总内存*100%。

 

原创粉丝点击