Stella981 Stella981
3年前
Linux页框分配器之内存碎片化整理
页框分配器在慢速分配中包括内存碎片化整理和内存回收,代码如下:static inline struct page __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,      struct alloc_context ac){  page  __alloc_
Stella981 Stella981
3年前
Redis内存碎片优化参数
infomemory参数简介used\_memory\_human:262.89Mused\_memory\_rss:267489280mem\_fragmentation\_ratio:0.97(Redis在编译时便会指定内存分配器;内存分配器可以是libc、jemalloc或者tcmalloc,默认是jemalloc。)used\
Stella981 Stella981
3年前
Linux 内核 VS 内存碎片 (上)
(外部)内存碎片是一个历史悠久的Linux内核编程问题,随着系统的运行,页面被分配给各种任务,随着时间的推移内存会逐步碎片化,最终正常运行时间较长的繁忙系统可能只有很少的物理页面是连续的。由于Linux内核支持虚拟内存管理,物理内存碎片通常不是问题,因为在页表的帮助下,物理上分散的内存在虚拟地址空间仍然是连续的(除非使用大页),但对于需要从内核线性
Stella981 Stella981
3年前
Cocos Creator 如何制作拼图游戏,支持无规则形状!
预览效果!(https://oscimg.oschina.net/oscnet/c075e00adf85d09d261e7006e2eeeef3065.gif)  实现思路  假设一张图,按照row行col列分成count(row\col) 份,由count份碎片组成,每个碎片有自己特定的
Stella981 Stella981
3年前
Redis内存碎片率
一、内存碎片率mem\_fragmentation\_ratioused\_memory\_rss/used\_memoryused\_memory:Redis使用其分配器分配的内存大小used\_memory\_rss:操作系统分配给Redis实例的内存大小,表示该进程所占物理内存的大小两者包括了实际缓存占用的内存和
Stella981 Stella981
3年前
C++性能优化(十) —— JeMalloc
C性能优化(十)——JeMalloc一、JeMalloc简介1、JeMalloc简介JeMalloc是一款内存分配器,最大的优点在于多线程情况下的高性能以及内存碎片的减少。GitHub地址:https://github.com/jemalloc
Stella981 Stella981
3年前
Linux 内核 VS 内存碎片 (下)
从Linux内核VS内存碎片(上)(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fpingcap.com%2Fblogcn%2Flinuxkernelvsmemoryfragmentation1%2F)我们可以看到根据迁移类型进行分组只是延缓了内存碎片,而并不是
Stella981 Stella981
3年前
Linux内核内存管理架构
内存管理子系统可能是linux内核中最为复杂的一个子系统,其支持的功能需求众多,如页面映射、页面分配、页面回收、页面交换、冷热页面、紧急页面、页面碎片管理、页面缓存、页面统计等,而且对性能也有很高的要求。本文从内存管理硬件架构、地址空间划分和内存管理软件架构三个方面入手,尝试对内存管理的软硬件架构做一些宏观上的分析总结。内存管理硬件架构
京东云开发者 京东云开发者
4个月前
mysql磁盘碎片整理
背景数据结转过程中经常进行delete操作,产生空白空间,如果进行新的插入操作,MySQL将尝试利用这些留空的区域,但仍然无法将其彻底占用,于是造成了数据的存储位置不连续,以及物理存储顺序与理论上的排序顺序不同,久而久之就产生了碎片。碎片治理思路根据线上处
京东云开发者 京东云开发者
3个月前
【转载】golang内存分配
Go的分配采用了类似tcmalloc的结构.特点:使用一小块一小块的连续内存页,进行分配某个范围大小的内存需求.比如某个连续8KB专门用于分配1724字节,以此减少内存碎片.线程拥有一定的cache,可用于无锁分配.同时Go对于GC后回收的内存页,并不是马