道生一,一生二,二生三,三生万物
        ——老子,道德经

最近公司开始搞各种减成本降配的事情。真是让人感叹世风日下啊!

但吐槽归吐槽,事情还是要做啊!

然后在查看运维的各种监控指标面板中,就遇到了今天要说的这个东西:idle进程。主要就是用来指示机器的空闲程度。

之前一直没太留意这玩意,但有2个疑惑:

  • 为什么这玩意可以表示机器的空闲程度?
  • 为什么需要这玩意?

于是查了下 相关介绍相关介绍 算是大概有个了解了,总结下来就是:

  • Linux世界诞生之时,只有 0号进程 init_task(这个在最后变成idle进程)
  • 0号进程经过诸如 start_kernel、rest_init的演化,诞生出1号 内核init线程、2号 kthreadd内核线程
  • 1号 内核init线程 最终变化为所有用户态程序的根进程,是所有用户态进程的祖先
  • 2号内核kthreadd内核线程,变为所有内核态其他守护线程的祖先
  • ……

看完上面这些,就觉得这个设计的格局有点似曾相识的感觉啊。

再一品,这 idle 不就是老子所说的 吗?!

道生一,一生二,二生三,三生万物

有点玄妙的感觉,Linus Torvalds 是有点东西啊!

另外值得一提的是:
现在的电脑都是多处理器的,主处理器 上的idle由原始进程(pid=0)演变而来。从处理器 上的idle由init进程fork得到,但是它们的pid都为0

至此也解答了我上面的2个疑惑:

  • 为什么这玩意可以表示机器的空闲程度?

    • 因为这玩意就是在系统空闲的时候运行,所以当然是表示系统的空闲程度
  • 为什么需要这玩意呢?

    • 因为正如亿贫如洗王道长说的:这个世界没有一刻是静止的 ,电脑系统也无法真正完全停止运行,否则这个系统就死了,关机。总要跑点什么吧,那就让idle来吧。

写到这里,突然想到了第一次读到老子的这段话的疑惑:道生一,一生二,二生三,三生万物,那最后道就没了吗?

原来 道 和 idle 一样,并没有消失,而是为了保证这个世界不会绝对静止,无时无刻、无处不在的运转着。

【完】。