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

talk is cheap,
show me the code!

最新发布

CPU篇

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

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

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

CPU篇

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

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

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

CPU篇

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

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

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

CPU篇

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

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

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

CPU篇

Linux 中的负载高低和 CPU 开销并不完全对应

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

大家好,我是飞哥!负载是查看 Linux 服务器运行状态时很常用的一个性能指标。在观察线上服务器运行状况的时候,我们也是经常把负载找出来看一看。在线上请求压力过大的时候,经常是也伴随着负载的飙高。但是负载的原理你真的理解了吗?我来列举几个问题,看看你对负载的理解是否足够的深刻。负载是如何计算出...