开发内功修炼@张彦飞开发内功修炼@张彦飞

talk is cheap,
show me the code!

最新发布

内存篇

挑战Redis单实例内存最大极限,“遭遇”NUMA陷阱!

张彦飞(@开发内功修炼) 阅读(306)

我们公司的基础架构部有个云Redis平台,其中Redis实例在申请的时候可以自由选择需要的内存的大小。然后就引发了我的一个思考,Redis单实例内存最大申请到多大比较合适?假设母机是64GB内存的物理机,如果不考虑CPU资源的的浪费,我是否可以开一个50G的Redis实例? 于是我在Goo...

内存篇

NUMA架构下的内存访问延迟区别!

张彦飞(@开发内功修炼) 阅读(303)

大家好,我是飞哥!现在的服务器物理机CPU一般都是多个CPU,核数也是十几甚至几十核。内存几十GB甚至是上百G,也是由许多的内存条组成的。那么我这里思考一下,这么多的CPU和内存它们之间是怎么互相连接的?同一个CPU核访问不同的内存条延时一样吗?在《内存随机访问也比顺序慢,带你深入理解内存IO...

内存篇

揭穿内存厂家“谎言”,实测内存带宽真实表现

张彦飞(@开发内功修炼) 阅读(232)

带宽是存储系统一个的一个非常重要的衡量指标,内存带宽指的是CPU从内存读取或写入数据到内存的速率。我们今天来思考一个问题,在你的应用程序里内存的访问带宽能够达到多少?各代内存带宽规格理论上内存带宽的计算公式是:Band Width = Speed * Data Width。在这个公式的基础上,...

内存篇

实际测试内存在顺序IO和随机IO时的访问延时差异

张彦飞(@开发内功修炼) 阅读(247)

大家好,我是飞哥!在《内存随机也比顺序访问慢,带你深入理解内存IO过程!》一文中,我们理解了内存IO的内部实现过程,知道了内存的随机IO比顺序IO要慢,并对延迟时间进行了大概的估算。那么我们今天来用代码的方式来时间一下,看看在我们的项目工程中,内存访问的在不同的访问场景下延时究竟是个什么表现。...

内存篇

聊聊C语言中的malloc申请内存的内部原理

张彦飞(@开发内功修炼) 阅读(295)

大家好,我是飞哥!在前面的文章中,我们介绍了 mmap、brk 等系统调用。但是这些系统调用在很多的时候,我们并不会直接使用。原因有以下两个系统调用管理的内存粒度太大。系统调用申请内存都是整页 4KB 起,但是我们平时编程的时候经常需要申请几十字节的小对象。如果使用 mmap 未免碎片率也太大...