查看系统可分配连续内存大小

来源:互联网 发布:发动机模型组装软件 编辑:程序博客网 时间:2024/09/21 09:23
cat /proc/buddyinfo
cat /proc/pagetypeinfo
Free pages count per migrate type at order       0      1      2      3      4      5      6      7      8      9     10
这里的0到10,分别对应2的0次方到2的10次方pages
也就是2^0*4k=4KB到2^9*4k=2048KB
下一行对应的是该大小的连续内存块的可用数量


我们看下vmalloc的可用大小,kernel日志中打印如下
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
  vmalloc : 0xf7800000 - 0xff000000   ( 120 MB)
   lowmem : 0xe0000000 - 0xf7300000   ( 371 MB)
   lowmem : 0xcff00000 - 0xe0000000   ( 257 MB)
  vmalloc : 0xcfa00000 - 0xcff00000   (   5 MB)
   lowmem : 0xcf500000 - 0xcfa00000   (   5 MB)
  vmalloc : 0xc7f00000 - 0xcf500000   ( 118 MB)
   lowmem : 0xc0000000 - 0xc7f00000   ( 127 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc0ca9088   (12933 kB)
      .init : 0xc0d00000 - 0xc0e12ec0   (1100 kB)
      .data : 0xc0e14000 - 0xc0f060ac   ( 969 kB)
       .bss : 0xc0f060d0 - 0xc111f2e0   (2149 kB)
可用cat /proc/vmallocinfo查下vmalloc的使用情形,
VmallocTotal:     122880 kB
VmallocUsed:        5124 kB
VmallocChunk:      74480 kB
如果vmalloc失败的话,那可能vmalloc对应的3块已经被用尽或者剩下的不够本次的vmalloc操作了。
VmallocTotal- VmallocUsed就是剩余可用的vmalloc大小,这里是指内核空间中的1GB虚拟地址上;VmallocChunk是指在可用vmalloc虚拟地址中最大的可用连续内存块
0 0
原创粉丝点击