版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
产业开发区杜英街166号总部大观B18楼过将不同块分类及将不同大小的内存块分类组2基于实例所申请的内存空间的大小适配块管理对象Part分类;其中,P有相同尺寸的切片管理内存块Slab组成的内存管理对象;所述Slab中包括由原始内存块从本地缓存LocalCache中包括的与适配的Part分类一致的空闲内存片Slice中为实例无空闲链表Emptylist,其中的所有Slab都是已将内部内存片Slice全部分配出去的部分空闲链表Partiallist,其中的所有Slab都是已将内部部分内存片Slice分配出所述从适配的Part分类对应的Part所管理的具有空闲Slice的Slab中为实例分配内存首先判断Partiallist中是否有充足的空闲的Slice可供分配,如果有则从对在将释放的内存释放回LocalCache不会导致LocalCache溢出的所述基于所申请的内存空间的大小适配块管理对象Part分类具体为:在所述Group所所述适配的Part为所述Group中的P所述Part分类表采用默认配置和/或采用如下动对实例申请的不同大小的内存空间的频率进行3基于预设门限,在默认Part分类表中新增频率高于预设门限的内存空间大小对应的本地缓存分配模块,用于从本地缓存LocalCache中包括的与适配的Part块管理对象分配模块,用于当所述LocalCache中的空间不足时,从适配应的Part所管理的具有空闲Slice的Slab中为实无空闲链表Emptylist,其中的所有Slab都是已将内部内存片Slice全部分配出去的部分空闲链表Partiallist,其中的所有Slab都是已将内部部分内存片Slice分配出所述块管理对象分配模块从适配的Part分类对应的Part所管理的具有空闲Slice的首先判断Partiallist中是否有充足的空闲的Slice可供分配,如果有则从对第一释放模块,用于在将释放的内存释放回LocalCache不会导致Loca第二释放模块,用于在释放回LocalCache会导致LocalCac第三释放模块,用于在释放回Part会导致Part溢出的情况下,将释放的内存释放回第四释放模块,用于在释放回MemPool会导致MemPool溢出所述适配模块在所述Group所包含的Part分类中进行Part分类的适配,所述适配的4动态配置模块,用于在Part分类表采用动态配置的情处理器,用于执行存储介质上所存放的计算机程序时,实施权利要5理业务过程中对于内存的申请和释放效率是影响实例性能的关键因素[0003]基于Ceph的存储集群中的实例通过tcmalloc或者jemalloc等动态连接库中的接[0006]图1为本公开提供的内存管理方法的步骤流程图,该方法用于实现实例的内存分[0007]步骤101.基于实例所申请的内存空间的大小适配块管理对象Part分类;其中,[0008]步骤102.从本地缓存LocalCache中包括的与适配的Part分类一致的空闲内存片理的具有空闲Slice的Slab中为实例分配6[0015]所述从适配的Part分类对应的Part所管理的具有空闲Slice的Slab中为实例分配[0019]在释放回LocalCache会导致LocalCache溢出的情况下,将释放的内存释放回[0024]所述基于所申请的内存空间的大小适配块管理对象Part分类具体为:在所述[0032]适配模块210,用于基于所申请的内存空间的大小适配块管理对象Part分类;其包括由原始内存块Blk切分的多个相同大小的内存片Slice;所述Part依据Slice的大小分[0033]本地缓存分配模块211,用于从本地缓存LocalCache中包括的与适配的Part分类分类对应的Part所管理的具有空闲Slice的Sla7获取原始内存块Blk,将Blk初始化为适配的Part分类对应的Slab,将Slab加入到适配的[0040]所述块管理对象分配模块从适配的Part分类对应的Part所管理的具有空闲Slice8[0056]图3为tcmalloc和jemalloc进行内存分配和释放时所采用的内存分层结构示意[0064]Ceph存储集群中的实例通过tcmalloc或者jemalloc等动态连接库提供的接口实[0065]图3为tcmalloc和jemalloc进行内存分配和释放时所采用的内存分层结构示意分配内存块尺寸及级别的方式,无法实现针对具体某个业务应用的内存分配和管理的优9[0069]图4为本公开一实施例提供的内存管理方法所采用的内存组织结构示意图,本公函数(例如mmap()方法)申请分配一定数量的Blk放入MemPool中,随着上层业务的使用当MemPool中Blk用完时可以继续从系统申请新的Blk以扩充MemPool的内存空间。MemPool初始化时Blk数量的初始值和最大值可通过配置文[0072]切片管理内存块Slab是Blk经过初始化后得到的一种具有Slice管理功能的数据结构,其中包括数据结构信息(例如Slice起始位置、Slice的数量等信息)和多个内存片[0073]Localcache的空间是从Slab加载进去的(就是把Slab中的Slice加载到[0075]无空闲链表Emptylist中的所有Slab都是已将内部内存片Slice全部分配出去的[0076]部分空闲链表Partiallist中的所有Slab都是已将内部部分内存片Slice分配出可以默认Group包含20个Part,每个Part所对应的Slice尺寸以2的指数次幂递增,例如可以通过指定增量函数的方式配置Part对应的Slice尺寸的递增方式从而以某个起始尺寸的方式配置某个尺寸的Part以适配某个应用大量的针对该尺寸Slic[0086]minSliceCnt为Part创建时最小的Slice数量,决定初始从MemPool中获取多少个[0087]maxSliceCnt为Part可容纳的最大Slice数量,可用来判断内部扩充逻辑是否合[0097]{1024,DEFAULT_PART_CACHE_SIZE,DEFAULT_PART_MIN_SLICE,DEFAULT-PART_[0098]{2048,DEFAULT_PART_CACHE_SIZE,DEFAULT_PART_MIN_SLICE,DEFAULT_PART_[0099]{4096,DEFAULT-PART_CACHE_SIZE,DEFAULT_PART_MIN_SLICE,DEFAULT_PART_[0100]{8192,DEFAULT_PART_CACHE_SIZE,DEFAULT_PART_MIN_SLICE,DEFAULT_PART_[0104]{131072,DEFAULT_PART_CACHE-SIZE/2,DEFAULT_PART_MIN_SLICE,DEFAULT_[0105]{262144,DEFAULT_PART-CACHE-SIZE/8,DEFAULT_PART-MIN_SLICE,DEFAULT_[0111]例如,针对Group的初始化,如果没有手动在配置文件中为Group指定所包括的Part类型,则按预置的Part分类表(即默认配置参数)中的Part分类的配置参数初始化[0113]步骤501.在初始状态下,各业务实例中的[0115]步骤502.针对每个业务统计分析业务实例的内存申请情况,生成与业务对应的内存管理方法的情况下,通过日志文件中的内存统计信息就可以得到OSD分配内存的具体64K的Part分类之后是128K的Part分类,业务实例若申请80K的内存空间,只能从128K的[0120]例如,在业务的配置文件中包括Part分类表配置项,用于指定该业务所使用的更新某个或某些业务的配置文件中的Part分类表配置项,使其指向为该业务生成的新的[0123]本公开实施例中,业务实例启动时所进行的有关内存配置参数包括但不限于Blk[0124]图6为本公开一实施例提供的内存管理方法中内存申请的步骤流程图,该步骤流内存管理动态库中的内存分配函数来接管操作系统原有的内存分配函数(例如malloc函[0131]由于LocalCache中的Slice是取自于Part,因此需首先进行申请的内存空间与[0133]步骤605.判断Part中的partiallist中是[0135]步骤606.从partiallist中获取存储空间填充到[0139]步骤610.判断MemPool的存储空间是否充足,若充足则执行步骤611,否则执行[0140]步骤611.从MemPool中获取存储空间填充到f请的存储空间填充到partiallist,然后再从partialist中获取所申请的内存空间填充到[0142]步骤613.将获取的Blk填充到MemPool中,从MemPool中获取存储空间填充到[0143]图7为本公开一实施例提供的内存管理方法中内存释放的步骤流程图,该步骤流供的内存管理动态库中的内存释放函数来接管操作系统原有的内存释放函数(例如free函[0148]步骤712.判断如果释放到LocalCache中,LocalCache是否会溢出即是否会超过[0151]步骤714.判断所释放的内存到partiallist的指定Slab后,该Slab是否已满即[0153]步骤716.判断fullist是否已满即fullist中的Slab是否已达到预设的最大Slab被处理器810执行时即可实现本公开提供的内存管理方法的各步SpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGate或以其他方式明显地与上下文矛盾。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年酒店项目转让合同(1篇)
- 2026甘肃陇南徽县众乔医院招聘备考题库及答案详解(易错题)
- 2026山东临沂市郯城县司法雇员第二次招聘29人备考题库附答案详解(预热题)
- 2026云南省有色地质局三〇六队招聘12人备考题库附答案详解(完整版)
- 2026贵州贵阳云瑞人力资源服务有限公司招聘教育教学服务人员8人备考题库附答案详解(模拟题)
- 2026国华能源投资有限公司春季校园招聘25人备考题库完整参考答案详解
- 2026海南保亭黎族苗族自治县林业局招聘重点公益林专职护林员4人备考题库及答案详解(基础+提升)
- 2026黑龙江佳木斯市汤原县人大代表联络服务中心招聘公益性岗位人员1人备考题库附答案详解(夺分金卷)
- 2026湖南郴州市苏仙区事业单位公开招聘(引进) 高层次人才20人备考题库及完整答案详解1套
- 肝吸虫病的早期诊断技术研究
- 832个贫困县名单
- 开封滨润新材料有限公司 20 万吨年聚合氯化铝项目环境影响报告
- 离心泵的结构和工作原理
- 2023年广州市黄埔区中医院护士招聘考试历年高频考点试题含答案解析
- 第四章基层疾病预防控制与妇幼保健职能演示文稿
- 高考乡土散文的阅读技巧
- 电力建设施工质量验收及评价规程强制性条文部分
- JJG 1105-2015氨气检测仪
- GB/T 4295-2019碳化钨粉
- 西部钻探套管开窗侧钻工艺技术课件
- 徐汇滨江规划和出让情况专题培训课件
评论
0/150
提交评论