Linux时钟系列-03-从晶振频率到CPU主频
前面的文章我们提到,Linux服务器的原始时钟源是位于服务器主板上的频率为14.318MHz的晶振,该晶振的时钟信号经过主板的时钟发生器(Clock Gener…
前面的文章我们提到,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)是实现代码库功能扩展的一种重要机制。 代码库的开发者预留了几个功能扩展点,并以回调接口的形式进行规定。代码库的使用者实现回调接…
1.问题场景 我们的某个系统目前是在一个老旧的平台上运行的,最近处理的数据量有点大,导致数据查找性能大幅下降。 由于平台比较老旧,编译器版本很低,使用标准库中的…