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

talk is cheap,
show me the code!

最新发布

CPU篇

Linux进程是如何创建出来的?

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

大家好,我是飞哥!在 Linux 中,进程是我们非常熟悉的东东了,哪怕是只写过一天代码的人也都用过它。但是你确定它不是你最熟悉的陌生人?我们今天通过深度剖析进程的创建过程,帮助你提高对进程的理解深度。在这篇文章中,我会用 Nginx 创建 worker 进程的例子作为引入,然后带大家了解一些进...

CPU篇

内核是如何给容器中的进程分配CPU资源的?

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

大家好,我是飞哥!现在很多公司的服务都是跑在容器下,我来问几个容器 CPU 相关的问题,看大家对天天在用的技术是否熟悉。容器中的核是真的逻辑核吗?Linux 是如何对容器下的进程进行 CPU 限制的,底层是如何工作的?容器中的 throttle 是什么意思?为什么关注容器 CPU 性能的时候,...

CPU篇

Docker容器里进程的 pid 是如何申请出来的?

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

大家好,我是飞哥!如果大家有过在容器中执行 ps 命令的经验,都会知道在容器中的进程的 pid 一般是比较小的。例如下面我的这个例子。# ps -ef PID USER TIME COMMAND 1 root 0:00 ./demo-ie 13 root ...

CPU篇

为什么新版内核将进程pid管理从bitmap替换成了radix-tree?

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

大家好,我是飞哥!前几天写书整理旧文章的时候,发现内核已经将进程 pid 号的管理从 bitmap 换成了基数树(radix-tree)。 第一次写进程创建的时候我使用的内核版本还是 3.10 的版本。在这个版本里已分配的进程 pid 号是用 bitmap 来存储的。但我在看 5.4 和 6...

CPU篇

一次限制进程的 CPU 用量的实操过程

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

大家好,我是飞哥!给大家分享一个事情。背景是这样的,我们要测试某个第三方 SDK 运行性能,这是个 CPU 密集型的服务。我想评估一下它运行一遍到底有多吃 CPU,以便评估上线后我们需要部署多少台服务器。我们是在一台 16 物理核的机器上测试的,我们的想法是把它启动起来,然后执行一遍。用耗时乘...