memory check

介绍

关于物理内存的统计信息,可以通过/proc/phymem目录下的文件查看:

说明

/proc/phymem

dist

显示物理内存使用分布信息

mem: 262144 kB
  |--mem_other: 15996 kB
  |--mem_linux: 246148 kB
       |--mem_reserved: 31268 kB
       |--mem_total: 214880 kB
            |--mem_free: 4608 kB
            |--mem_buffer: 0 kB
            |--mem_cache: 82340 kB
            |--mem_user: 90568 kB
            |    |--active(anon): 44140 kB
            |    |--inactive(anon): 46428 kB
            |--mem_kernel: 37364 kB
                 |--kernelStack: 3432 kB
                 |--pageTables: 9224 kB
                 |--slab: 6680 kB
                 |--vmalloc: 28268 kB

说明:

  • mem_other: 与Linux无关的物理内存,在6820中,主要是指ThreadX,NK虚拟机,以及一部分Shared内存。
  • mem_linux: Linux相关的物理内存。
  • mem_reserved: Linux保留内存,包括Kernel的镜像,内存文件系统。
  • mem_total: 可供分配使用的物理内存。
  • mem_free: 空闲的物理内存。
  • mem_buffer:块设备的写缓冲。
  • mem_cache: 文件系统的读缓存。
  • mem_user: 用户态进程分配的物理内存
  • active(anon): active匿名页
  • inactive(anon): inactive匿名页
  • mem_kernel: kernel分配的物理内存
  • kernelStack: kernel的stack占用内存
  • pageTables: 页表消耗内存
  • slab: slab消耗内存
  • vmalloc: vmalloc使用内存

map

显示Os管理的物理内存地址区间

0x00203000 - 0x00340000    1268kB
0x00359000 - 0x00400000    668kB
0x00460000 - 0x00480000    128kB
0x004e0000 - 0x004ff000    124kB
0x011c2000 - 0x10000000    243960kB

pages

根据页面属性统计物理页的使用情况

pages of RAM       61537
free pages         1745
reserved pages     7943
slab pages         2001
pages shared       11642
pages swap cached  0
buddy pages        0
other pages        38206

showmem-trigger

触发show_mem函数,内容输出至kmsg

kmsg中信息显示如下:

[ 1264.184000] Mem-info:
[ 1264.184000] Normal per-cpu:
[ 1264.184000] CPU    0: hi:   90, btch:  15 usd:   3
[ 1264.184000] active_anon:9696 inactive_anon:11544 isolated_anon:0
[ 1264.184000]  active_file:10744 inactive_file:8828 isolated_file:0
[ 1264.184000]  unevictable:364 dirty:0 writeback:0 unstable:0
[ 1264.184000]  free:3382 slab_reclaimable:465 slab_unreclaimable:1324
[ 1264.184000]  mapped:9067 shmem:76 pagetables:2268 bounce:0
[ 1264.184000] Normal free:13528kB min:1976kB low:2468kB high:2964kB active_anon:38784kB inactive_anon:46176kB active_file:42976kB inactive_file:35312kB unevictable:1456kB isolated(anon):0kB isolated(file):0kB present:244116kB mlocked:0kB dirty:0kB writeback:0kB mapped:36268kB shmem:304kB slab_reclaimable:1860kB slab_unreclaimable:5296kB kernel_stack:3416kB pagetables:9072kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 1264.185000] lowmem_reserve[]: 0 0 0
[ 1264.185000] Normal: 362*4kB 282*8kB 148*16kB 111*32kB 33*64kB 6*128kB 2*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 13528kB
[ 1264.185000] 20012 total pagecache pages
[ 1264.185000] 0 pages in swap cache
[ 1264.185000] Swap cache stats: add 0, delete 0, find 0/0
[ 1264.185000] Free swap  = 0kB
[ 1264.185000] Total swap = 0kB
[ 1264.188000] 61537 pages of RAM
[ 1264.188000] 3986 free pages
[ 1264.188000] 8082 reserved pages
[ 1264.188000] 1328 slab pages
[ 1264.188000] 110458 pages shared
[ 1264.188000] 0 pages swap cached

应用场景

内核裁剪

当裁剪掉某些功能后,通过/proc/phymem/dist查看内存变化情况。

比如,

定义 CONFIG_KALLSYMS_ALL                             未定义 CONFIG_KALLSYMS_ALL
mem: 262144 kB                                      mem: 262144 kB                              
  |--mem_other: 15996 kB                              |--mem_other: 15996 kB                    
  |--mem_linux: 246148 kB                             |--mem_linux: 246148 kB                   
       |--reserved: 31772 kB                               |--mem_reserved: 31268 kB     --减少      
       |--mem_total: 214376 kB                             |--mem_total: 214880 kB       --增加       
            |--mem_free: 4672 kB                                |--mem_free: 4608 kB            
            |--mem_buffer: 0 kB                                 |--mem_buffer: 0 kB             
            |--mem_cache: 81104 kB                              |--mem_cache: 82340 kB          
            |--mem_user: 87288 kB                               |--mem_user: 90568 kB           
            |    |--active(anon): 45848 kB                      |    |--active(anon): 44140 kB  
            |    |--inactive(anon): 41440 kB                    |    |--inactive(anon): 46428 kB
            |--mem_kernel: 41312 kB                             |--mem_kernel: 37364 kB         
                 |--kernelStack: 3144 kB                             |--kernelStack: 3432 kB    
                 |--pageTables: 8292 kB                              |--pageTables: 9224 kB     
                 |--slab: 9752 kB                                    |--slab: 6680 kB           
                 |--vmalloc: 30268 kB                                |--vmalloc: 28268 kB       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值