写一个demo使得android开机自启动不断的申请内存

由于在android上层中如果去不断的申请内存,会被kill调,无奈只能在kernel中申请。
在kernel-3.10.14/kernel/power/main.c中添加如下代码

static ssize_t get_memory_store(struct kobject *kobj,
 struct kobj_attribute *attr,const char *buf, size_t n)
{       
        unsigned long vaddr = 0;
       vaddr = __get_free_page(GFP_KERNEL | __GFP_ZERO);//申请4k物理空间

}

static ssize_t get_memory_show(struct kobject *kobj,
      struct kobj_attribute *attr, char *buf)
{
   return 0;
}

power_attr(get_memory);


 #ifdef CONFIG_PM_WAKELOCKS
        &wake_lock_attr.attr,
        &wake_unlock_attr.attr,
+       &get_memory_attr.attr,

这样在文件系统中的/sys/power/ 下生成get_memory 节点
写一个shell脚本加入的android自启动服务中。

  1 #!/system/bin/sh
  2 while : 
  3 
  4 do
  5 echo 0 > /sys/power/get_memory
  6 done

死循环,每echo一个就申请4k内存。这样就可以不断的申请内存,当内存不够用时,android会kill掉相关进程来获取空间。最终android会重新启动。然后申请完,依次循环。获取kmsg信息

  1 #!/system/bin/sh                                                                                                                         
  2 cat /proc/kmsg >> /sdcard/Movies/diff
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值