首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 内核 内存管理】mmap 系统调用源码分析 ⑤ ( mmap_region 函数执行流程 | mmap_region 函数源码 )

文章目录 一、mmap_region 函数执行流程 1、检查内存申请是否合法 2、创建 " 虚拟内存区域 " 二、mmap_region 函数源码 调用 mmap 系统调用 , 先检查 " 偏移 "...继续向下执行 ; 在 vm_mmap_pgoff 函数 中 , 核心处理过程就是调用 do_mmap 函数 , 这是 " 内存映射 " 创建的主要函数逻辑 ; 在 do_mmap 函数中 , 调用了 mmap_region...函数 , 创建 " 虚拟内存区域 " ; 一、mmap_region 函数执行流程 ---- 1、检查内存申请是否合法 在 mmap_region 函数中 , 首先 , 调用 may_expand_vm...-4.12\mm\mmap.c#1710 vma_set_page_prot(vma); 源码路径 : linux-4.12\mm\mmap.c#1743 二、mmap_region 函数源码 ---...- mmap_region 函数源码 定义在 Linux 内核源码的 linux-4.12\mm\mmap.c#1602 位置 ; mmap_region 函数源码如下 : unsigned long

1.7K20

HBase的region管理

region 热点 唯一可以缓解这种现象的途径就是手动地将热点region 按特定的边界拆分出一个或多个新region,然后将子region 负载分布到多个region 服务器上。...用户可以为region 指定一个拆分行键,即region 被拆分为两部分的位置。用户可以指定region 中任意的行键,这样用户也可以生成大小完全不同的两个region。...表热点 大部分region分布并不均匀,即大多数region位于同一个region 服务器上,对于拥有很多region 的表来说。...一旦均衡器启动,它将会尝试均匀分配region 到所有region 服务器。启动均衡器时,均衡器首先会确定一个region 分配计划, 该计划用于描述region 如何移动。...合并region 当用户向相应的表中插入数据时,region 自动拆分的情况是很常见的。当然在某些特殊 情况下,用户有可能需要合并region

1.8K70

Ip2region介绍

ip2region v2.0 - 是一个离线IP地址定位库和IP定位数据管理框架,10微秒级别的查询效率,提供了众多主流编程语言的 xdb 数据生成和查询客户端实现。...v1.0 旧版本: v1.0版本入口 Ip2region 特性 1、标准化的数据格式 每个 ip 数据段的 region 信息都固定了格式:国家|区域|省份|城市|ISP,只有中国的数据绝大部分精确到了城市...2、数据去重和压缩 xdb 格式生成程序会自动去重和压缩部分数据,默认的全部 IP 数据,生成的 ip2region.xdb 数据库是 11MiB,随着数据的详细度增加数据库的大小也慢慢增大。...4、IP 数据管理框架 v2.0 格式的 xdb 支持亿级别的 IP 数据段行数,region 信息也可以完全自定义,例如:你可以在 region 中追加特定业务需求的数据,例如:GPS信息/国际统一地域信息编码...也就是你完全可以使用 ip2region 来管理你自己的 IP 定位数据。

26210

HBase Region自动切分细节

HBase系统中Region自动切分是如何实现的,这里面涉及很多知识点,比如Region切分的触发条件是什么、Region切分的切分点在哪里、如何切分才能最大的保证Region的可用性、如何做好切分过程中的异常处理...4、关闭parent region:parent region关闭数据写入并触发flush操作,将写入region的数据全部持久化到磁盘。...除此之外,还需要关注reference文件的文件内容,reference文件是一个引用文件(并非linux链接文件),文件内容很显然不是用户数据。...父region的数据什么时候会迁移到子region目录? 答案是子region发生major_compaction时。...子region执行major_compaction后会将父目录中属于该子region的所有数据读出来并写入子region目录数据文件中。

2K71

HBase Region 自动拆分策略

HBase-2.x支持7种Region自动拆分Region的策略,类图如下: ?...的拆分 } 拆分效果 经过这种策略的拆分后,Region的大小是均匀的,例如一个10G的Region,拆分为两个Region后,这两个新的Region的大小是相差不大的,理想状态是每个都是5G...所谓热点问题就是数据库中的Region被访问的频率并不一样,某些Region在短时间内被访问的很频繁,承载了很大的压力,这些Region就是热点Region。...> 10min,则判断该Region为Busy RegionRegion被判定为Busy Region,就会被拆分。...它会通过拆分热点Region来缓解热点Region的压力,但是根据热点来拆分Region也会带来很多不确定性因素,因为你也不知道下一个被拆分的Region是哪个。 7.

4.5K53

浅谈HBase region的单点问题

对于正常情况而言,region本质上是单点服务的,当RS宕机时,这个RS上的region无法提供服务,直到他们在另外的RS上重新上线为止。...region单点导致的问题 从正常和异常两个方面对region单点可能导致的问题进行分析。...因为region只在一台RS上assign,那这台RS直接决定了这个region的服务质量,RS发生的任何问题或多或少都会对region产生影响。...,可能会把RS打爆,从而这个RS上所有的region都被影响了 人为因素(可预期的) balance:手工move/split/merge region,会导致短暂的服务停止 扩容/缩容:会产生大量的region...比如修改压缩或者ttl之类的,此时master会对表的所有region进行批量reopen。同时有十几到几十个region在做reopen是非常正常的。

1.2K30

Linux 内核 内存管理】memblock 分配器 ③ ( memblock_region 内存块区域 | memblock_region 结构体成员分析 | memblock 分配器标志位 )

文章目录 一、memblock_region 内存块区域 二、memblock_region 结构体成员分析 1、base 成员 2、size 成员 3、flags 成员 4、nid 成员 三、memblock...---- memblock 分配器 中 , 内存块区域 使用 struct memblock_region 结构体进行描述 , 该结构体定义在 Linux 内核源码的 linux-4.12\include...request */ MEMBLOCK_HOTPLUG = 0x1, /* hotpluggable region */ MEMBLOCK_MIRROR = 0x2, /* mirrored region...-4.12\include\linux\memblock.h#31 二、memblock_region 结构体成员分析 ---- 1、base 成员 base 成员 表示 " 内存块区域 " 的起始地址...内核源码的 linux-4.12\include\linux\memblock.h#23 位置 ; /* Definition of memblock flags. */ enum { MEMBLOCK_NONE

30520
领券