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

talk is cheap,
show me the code!

最新发布

内存篇

带你深入理解内存对齐最底层原理

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

相信绝大多数的人都了解内存对齐,都知道变量应该按8字节去对齐,这样性能高。但是其最最底层的原理是啥呢? 有的人可能会说,因为高速缓存是以8字节为单位进行的。读者你很聪明,这是原因之一。但我今天想挖的是更底层一点的原理,让我们去内存的物理构成里找找答案!内存物理结构前面我们说过内存是由chip构...

网络篇

127.0.0.1 之本机网络通信过程知多少 ?!

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

大家好,我是飞哥!我们拆解完了 Linux 网络包的接收过程,也搞定了网络包的发送过程。内核收发网络包整体流程就算是摸清楚了。 正在飞哥对这两篇文章洋洋得意的时候,收到了一位读者的发来的提问:“飞哥, 127.0.0.1 本机网络 IO 是咋通信的”。额,,这题好像之前确实没讲到。。现在本机...

网络篇

Linux网络包接收过程的监控与调优

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

上一篇文章中《图解Linux网络包接收过程》,我们梳理了在Linux系统下一个数据包被接收的整个过程。Linux内核对网络包的接收过程大致可以分为接收到RingBuffer、硬中断处理、ksoftirqd软中断处理几个过程。其中在ksoftirqd软中断处理中,把数据包从RingBuffer中...

网络篇

25 张图,一万字,拆解 Linux 网络包发送过程

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

大家好,我是飞哥!半年前我以源码的方式描述了网络包的接收过程。之后不断有粉丝提醒我,飞哥飞哥,你还没聊发送过程呢。好,安排!在开始今天的文章之前,我先来请大家思考几个小问题。问1:我们在查看内核发送数据消耗的 CPU 时,是应该看 sy 还是 si ?问2:为什么你服务器上的 /proc/so...