免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 913 | 回复: 0
打印 上一主题 下一主题

/proc/meminfo Explained [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-22 10:54 |只看该作者 |倒序浏览
[color="#295200"]/proc/meminfo Explained
"Free," "buffer," "swap," "dirty." What does it all mean? If you
said, "something to do with the Summer of '68", you may need a primer
on 'meminfo'.
The entries in the /proc/meminfo can help explain what's going on with your memory usage, if you know how to read it.
Example of "cat /proc/meminfo":
[color="#ffff00"]root:        total:            used:            free:                  shared:        buffers:        cached:
Mem:          1055760384        1041887232        13873152        0        100417536         711233536
Swap:         1077501952          8540160         1068961792
                                                [color="#ffff00"]MemTotal:                1031016 kB       
MemFree:                13548 kB
MemShared:                0 kB
Buffers:                98064 kB
Cached:                        692320 kB
SwapCached:                2244 kB
Active:                        563112 kB
Inact_dirty:                309584 kB
Inact_clean:                79508 kB
Inact_target:                190440 kB
HighTotal:                130992 kB
HighFree:                1876 kB
LowTotal:                900024 kB
LowFree:                11672 kB
SwapTotal:                1052248 kB
SwapFree:                1043908 kB
Committed_AS:                332340 kB
                                               
The information comes in the form of both high-level and low-level
statistics. At the top you see a quick summary of the most common
values people would like to look at. Below you find the individual
values we will discuss. First we will discuss the high-level statistics.
High-Level Statistics
  • MemTotal: Total usable ram (i.e. physical ram minus a few reserved bits and the kernel binary code)
  • MemFree: Is sum of LowFree+HighFree (overall stat)
  • MemShared: 0; is here for compat reasons but always zero.
  • Buffers: Memory in buffer cache. mostly useless as metric nowadays
  • Cached: Memory in the pagecache (diskcache) minus SwapCache
  • SwapCache: Memory that once was swapped out, is swapped
    back in but still also is in the swapfile (if memory is needed it
    doesn't need to be swapped out AGAIN because it is already in the
    swapfile. This saves I/O)
    Detailed Level Statistics
    VM Statistics
    VM splits the cache pages into "active" and "inactive" memory. The
    idea is that if you need memory and some cache needs to be sacrificed
    for that, you take it from inactive since that's expected to be not
    used. The vm checks what is used on a regular basis and moves stuff
    around.
    When you use memory, the CPU sets a bit in the pagetable and the VM
    checks that bit occasionally, and based on that, it can move pages back
    to active. And within active there's an order of "longest ago not used"
    (roughly, it's a little more complex in reality). The longest-ago used
    ones can get moved to inactive. Inactive is split into two in the above
    kernel (2.4.18-24.8.0). Some have it three.
  • Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary.
  • Inact_dirty: Dirty means "might need writing to disk or
    swap." Takes more work to free. Examples might be files that have not
    been written to yet. They aren't written to memory too soon in order to
    keep the I/O down. For instance, if you're writing logs, it might be
    better to wait until you have a complete log ready before sending it to
    disk.
  • Inact_clean: Assumed to be easily freeable. The kernel will try to keep some clean stuff around always to have a bit of breathing room.
  • Inact_target: Just a goal metric the kernel uses for
    making sure there are enough inactive pages around. When exceeded, the
    kernel will not do work to move pages from active to inactive. A page
    can also get inactive in a few other ways, e.g. if you do a long
    sequential I/O, the kernel assumes you're not going to use that memory
    and makes it inactive preventively. So you can get more inactive pages
    than the target because the kernel marks some cache as "more likely to
    be never used" and lets it cheat in the "last used" order.
    Memory Statistics
  • HighTotal: is the total amount of memory in the high region.
    Highmem is all memory above (approx) 860MB of physical RAM. Kernel uses
    indirect tricks to access the high memory region. Data cache can go in
    this memory region.
  • LowTotal: The total amount of non-highmem memory.
  • LowFree: The amount of free memory of the low memory
    region. This is the memory the kernel can address directly. All kernel
    datastructures need to go into low memory.
  • SwapTotal: Total amount of physical swap memory.
  • SwapFree: Total amount of swap memory free.
  • Committed_AS: An estimate of how much RAM you would
    need to make a 99.99% guarantee that there never is OOM (out of memory)
    for this workload. Normally the kernel will overcommit memory. That
    means, say you do a 1GB malloc, nothing happens, really. Only when you
    start USING that malloc memory you will get real memory on demand, and
    just as much as you use. So you sort of take a mortgage and hope the
    bank doesn't go bust. Other cases might include when you mmap a file
    that's shared only when you write to it and you get a private copy of
    that data. While it normally is shared between processes. The
    Committed_AS is a guesstimate of how much RAM/swap you would need
    worst-case.
                   
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/74409/showart_1806826.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP