当前位置: 首页 > news >正文

挪车码推广赚钱seo推广外包报价表

挪车码推广赚钱,seo推广外包报价表,买的网站模板怎么上传,phpcms网站开发说明 KO(kernel module)占用的内存分为两部分: 静态占用 :ko insmod时系统固定分配的内存。动态申请 :代码中动态申请的内存,由于申请方式不同,统计的方式也可能不同,例如:使用vmalloc和kmall…

说明

  • KO(kernel module)占用的内存分为两部分:
  1. 静态占用 :ko insmod时系统固定分配的内存。
  2. 动态申请 :代码中动态申请的内存,由于申请方式不同,统计的方式也可能不同,例如:使用vmalloc和kmalloc申请内存,统计方式就不同;代码是否执行以及执行次数不同,统计结果也不同。

静态占用

  • KO静态占用内存是通过vmalloc分配的, 主要分为两部分
  1. core_layout
  2. init_layout
  • 可通过linux内核代码确认。
// 文件:linux_5.10/kernel/module.c
static struct module *layout_and_allocate(struct load_info *info, int flags)
{...ndx = find_sec(info, ".data..ro_after_init");if (ndx)info->sechdrs[ndx].sh_flags |= SHF_RO_AFTER_INIT;...ndx = find_sec(info, "__jump_table");if (ndx)info->sechdrs[ndx].sh_flags |= SHF_RO_AFTER_INIT;/* Determine total sizes, and put offsets in sh_entsize.  For nowthis is done generically; there doesn't appear to be anyspecial cases for the architectures. */layout_sections(info->mod, info);layout_symtab(info->mod, info);/* Allocate and move to the final place */err = move_module(info->mod, info);if (err)return ERR_PTR(err);/* Module has been copied to its final place now: return it. */mod = (void *)info->sechdrs[info->index.mod].sh_addr;kmemleak_load_module(mod, info);return mod;
}static int move_module(struct module *mod, struct load_info *info)
{
.../* Do the allocs. */ptr = module_alloc(mod->core_layout.size);
...if (mod->init_layout.size) {ptr = module_alloc(mod->init_layout.size);...}
...
}void * __weak module_alloc(unsigned long size)
{       // 使用vmalloc申请内存return __vmalloc_node_range(size, 1, VMALLOC_START, VMALLOC_END,GFP_KERNEL, PAGE_KERNEL_EXEC, VM_FLUSH_RESET_PERMS,NUMA_NO_NODE, __builtin_return_address(0));
}

占用统计

  1. lsmod 或 /proc/modules
  • lsmod打印的KO列表中有个size属性,表示KO内存占用。
  • lsmod 的数据来自/proc/modules。
~# lsmod 
Module                  Size  Used by    Tainted: GF 
xxxx_ive            234750  0 
xxx_ipcm               84490  0 
xxxx_tpu             26507  0 
xxxx_clock_cooling     4685  0 
xxxx_sys             21052  1 xxxx_ive
~# cat /proc/modules 
xxxx_ive 234750 0 - Live 0xffffffdf808a5000 (FO)
xxx_ipcm 84490 0 - Live 0xffffffdf80881000 (FO)
xxxx_tpu 26507 0 - Live 0xffffffdf80873000 (FO)
xxxxx_clock_cooling 4685 0 - Live 0xffffffdf8086e000 (FO)
xxxxx_sys 21052 1 xxxx_ive, Live 0xffffffdf80863000 (FO)
  • /proc/modules显示的size包括KO的init_size和core_size,少于实际静态占用,可通过以下节点查看分别大小。
~# cat /sys/module/xxxx_sys/initsize
~# cat /sys/module/xxxx_sys/coresize
  1. cat /proc/meminfo 查看vmallocUsed 项,cat /proc/vmallocinfo 中查看单个KO的内存占用。
~# cat /proc/meminfo
....
VmallocTotal:   67108863 kB
VmallocUsed:        2564 kB
VmallocChunk:          0 kB
....
~# cat /proc/vmallocinfo
....
0x(____ptrval____)-0x(____ptrval____)   28672 load_module+0x6fa/0x1c5a pages=6 vmalloc
0x(____ptrval____)-0x(____ptrval____)   12288 load_module+0x6fa/0x1c5a pages=2 vmalloc
0x(____ptrval____)-0x(____ptrval____)   32768 load_module+0x6fa/0x1c5a pages=7 vmalloc
0x(____ptrval____)-0x(____ptrval____)   90112 load_module+0x6fa/0x1c5a pages=21 vmalloc
0x(____ptrval____)-0x(____ptrval____)  241664 load_module+0x6fa/0x1c5a pages=58 vmalloc
....
  • 有些平台上VmallocUsed 显示为0 KB。

区别

* xxxx_ive
lsmod size:             234750
vmallocinfo size:       241664
  • 看/proc/vmallocinfo 中的数据和lsmod 数据差别在两点:
  1. 内存页(4096)对齐
  2. 多一内存页(栅栏页)

整体占用统计方法

  1. insmod/rmmod ko后cat /proc/meminfo 看available变化(但是不是很准确)。
http://www.hkea.cn/news/337766/

相关文章:

  • 网站建设评价东莞谷歌推广
  • php网站后台进不去百度推广入口官网
  • 个人网站一键生成免费推广网站有哪些
  • 厦门做网站设计电商seo优化
  • wordpress视频点播seo技术是干什么的
  • 网站推广是怎么做的网络营销专业如何
  • 平面设计线上兼职上海网站seo
  • 个性化网站定制价格今日热点
  • 做网站的艰辛免费个人网站申请
  • 网站改版需要多久网站设计与制作毕业论文范文
  • 深圳横岗网站建设网站建设的推广渠道
  • 有没有什么网站免费做名片2023年新闻小学生摘抄
  • 新网金商网站外链查询工具
  • 网站建设的进度竞价托管选择微竞价
  • 网站快速网站推广怎么做一个公司网站
  • 旅游网站模板htmlseo品牌优化整站优化
  • 方圆网站建设aso优化重要吗
  • 做购实惠网站的意义好用的搜索引擎有哪些
  • 怎么把自己笔记本做服务器做个网站搭建网站基本步骤
  • jeecms做企业网站成都网站建设公司排名
  • 沈阳招聘网站开发地推项目平台
  • 798艺术区成都seo达人
  • 平度网站建设抖音代运营收费详细价格
  • 株洲网站优化找哪家seo优化的价格
  • 找印度人做网站sem竞价推广公司
  • 山西网站推广公司网站关键词优化怎么弄
  • 微信分销是什么重庆优化seo
  • 武汉企业网站推广方案永久免费无代码开发平台网站
  • 网站开发岗位群怎样推广产品
  • 桐城市美丽乡村建设专题网站石家庄整站优化技术