我们所有的开发同学每时每刻都在使用内核、都在使用硬件。所以能正确理解内核是怎么工作的、硬件的性能指标大概是多少,这些对于高阶的开发工程师来说非常重要。想成为技术大牛,扎实练习内功是必经之路!
飞哥的开发内功修炼从 CPU、内存、磁盘、网络四大模块进行深度思考,总结出来,在这里分享给积极上进的你!欢迎添加飞哥微信交流与围观朋友圈: zhangyanfei748528
本 repo 持续更新ing...
新文置顶:最近写的都是CPU、进程方向的
- 为什么新版内核将进程pid管理从bitmap替换成了radix-tree? (:cn:新)
- 剖析CPU性能火焰图生成的内部原理 (:cn:新)
- 盘点内核中常见的CPU性能卡点 (:cn:新)
- 人人都应该知道的CPU缓存运行效率 (:cn:新)
- 如何正确获取容器的CPU利用率? (:cn:新)
大家好,飞哥在博客文章的基础上出版了一本书,名字叫做《深入理解Linux网络》。该书市场接受度非常的高,在首发当天就斩获了京东科技类图书的第一名,几天就将首印卖断了货。
点击:京东购买地址
另外大家也可以加飞哥微信(zhangyanfei748528)进读者交流群。
一、网络篇
1.1 内核收发包原理
- 🔥图解Linux网络包接收过程
- 🔥25 张图,一万字,拆解 Linux 网络包发送过程
- Linux网络包接收过程的监控与调优
- 🔥127.0.0.1 之本机网络通信过程知多少 ?!
- 本机网络IO之Unix Domain Socket与普通socket的性能对比 实验使用源码
1.2 内核如何与用户进程协作
- 图解 | 深入理解高性能网络开发路上的绊脚石 - 同步阻塞网络 IO
- 🔥图解 | 深入揭秘 epoll 是如何实现 IO 多路复用的!
- 漫画 | 看进程小 P 讲述它的网络性能故事!
- 在 golang 中是如何对 epoll 进行封装的?
- 万字多图,搞懂 Nginx 高性能网络工作原理!
- 单线程 Redis 如何做到每秒数万 QPS 的超高处理能力!
- Redis 6 中的多线程实现方式比我预期的要差
- 剖析Netty内部网络实现原理
1.3 TCP之三次握手
- 为什么服务端程序都需要先 listen 一下?
- 深入理解Linux端口重用这一特性 配套实验源码
- 绑定特殊 IP 之 0.0.0.0 的内部工作原理
- TCP连接中客户端的端口号是如何确定的?
- 能将三次握手理解到这个深度,面试官拍案叫绝!
- 深入解析常见三次握手异常
- 如何正确查看线上半/全连接队列溢出情况?
1.4 TCP连接时间开销、内存开销
1.5 单机百万并发系列
1.6 网络工具
1.7 虚拟化
- 轻松理解 Docker 网络虚拟化基础之 veth 设备! (:cn:新)
- 聊聊 Linux 上软件实现的“交换机” - Bridge! 配套实验源码 (:cn:新)
- 彻底弄懂 Linux 网络命名空间 配套实验源码 (:cn:新)
- 手工模拟实现 Docker 容器网络! 配套实验源码 (:cn:新)
- 理解 iptables 原理
- 天天讲路由,那 Linux 路由到底咋实现的!?
1.8 电子书
二、硬盘篇
2.1 硬件工作原理
2.2 文件系统浅析
2.3 文件读写性能
三、内存篇
3.1 硬件工作原理
3.2 内核内存管理
- 说出来你可能不信,内核这家伙在内存的使用上给自己开了个小灶!
- 明明还有大量内存,为啥报错“无法分配内存”? (:cn:新)
- 从进程栈内存底层原理到Segmentation fault报错 (:cn:新)
3.3 内存性能测试
3.4 内存性能优化实例
四、CPU篇
4.1 了解CPU硬件
4.2 内核CPU开销浅析
4.3 用户态CPU开销分析
4.4 CPU性能优化
- 一个likely的简单使用,背后却是对CPU工作原理的深刻理解 (:cn:新)
- Linux 中 CPU 利用率是如何算出来的? (:cn:新)
- 如何正确获取容器的CPU利用率? (:cn:新)
- 人人都应该知道的CPU缓存运行效率 (:cn:新)
- 剖析CPU性能火焰图生成的内部原理 (:cn:新)
- 盘点内核中常见的CPU性能卡点 (:cn:新)
4.5 进程管理
- Linux进程是如何创建出来的?
- 你写的代码是如何跑起来的?
- 聊聊Linux中线程和进程的联系与区别!
- 你的新进程是如何被内核调度执行到的?
- Linux 中的负载高低和 CPU 开销并不完全对应
- 为什么新版内核将进程pid管理从bitmap替换成了radix-tree? (:cn:新)
4.6 容器进程管理
五、应用篇
六、答读者问
- 今天聊聊飞哥是怎么阅读内核源码的
- 答读者问,飞哥能否给推荐几本硬核技术书?
- 程序员完全没有时间提升自己该怎么办?
- 写给内功修炼读者的一封信!
- 我是怎么样写出开发内功修炼的?秘密都在这里!
- 给想成长为高级别开发同学的七条建议
七、公众号二维码
敬请扫码关注微信公众号「开发内功修炼」,及时获得最新硬核文章!
为了方便大家阅读,本 Github 的网络篇核心内容整理成了 PDF 电子书,也即将出版。该书好评众多,欢迎大家下载! 百度网盘地址 密码:q79d
如若网盘地址出问题,也可以通过微信(zhangyanfei748528)找飞哥,我直接发你!