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

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值