LINUX时钟系列-04-从CPU主频到系统时间
首先我们从一个实验开始: 先在一个16核的机器上运行一下: 运行结果如下: 再换一台72核的机器: 运行结果如下: 观察这两台机器的运行结果,我们发现了三点: …
首先我们从一个实验开始: 先在一个16核的机器上运行一下: 运行结果如下: 再换一台72核的机器: 运行结果如下: 观察这两台机器的运行结果,我们发现了三点: …
前面的文章我们提到,Linux服务器的原始时钟源是位于服务器主板上的频率为14.318MHz的晶振,该晶振的时钟信号经过主板的时钟发生器(Clock Gener…
时钟,即Clock,一般包括两个含义: 一个含义指的是在硬件层面按照固定频率产生的时钟滴答(Clock Tick),它一般由石英晶振驱动,是机器上各个硬件最终协…
1.前言 最近碰到了一个服务器时间漂移的问题,一台Linux服务器运行12小时后,系统时钟漂移了700多ms,而且在机器负载不同的时候,漂移程度还不一样。 其实…
1.前言 我们讨论的套接字选项,范围是这样的: 套接字选项通过不同的组合,可以达成不同的效果,本着够用就行的原则,本文仅探讨其中的一种设定方式。 基本的参考资料…
1.背景 在多核世界里开发复杂系统,不可避免地要涉及多进程(线程)协作的场景。最常见的协作模式是生产者-消费者模式。生产者产生消息的时候,如何快速地唤醒消费者去…
1.前言 前几天写了一篇文章(链接在此),探索各种取时间的方式,结论是TSC是精度最高、开销最小的方式,但是同时也声明了,使用的时候可能会碰见很多坑。 今天我们…
1.了解你的CPU 在现代多处理器系统中(如下图),每个系统(System)可能安装多个处理器(Processor/Socket)芯片,每个处理器可能包含多个核…
1.上古版 最原始的取时间的方法大概就是time+localtime了,见代码: 其中time函数返回的是1970年到现在的秒数,精确到秒。 localtime…
1.前言 回调(callback)是实现代码库功能扩展的一种重要机制。 代码库的开发者预留了几个功能扩展点,并以回调接口的形式进行规定。代码库的使用者实现回调接…