如果Linux也是一个普通人的话,那么她的手腕上应该有十几块手表,包括:CLOCK_REALTIME、CLOCK_MONOTONIC、CLOCK_PROCESS_CPUTIME_ID、CLOCK_THREAD_CPUTIME_ID、CLOCK_MONOTONIC_RAW、CLOCK_REALTIME_COARSE、CLOCK_MONOTONIC_COARSE、CLOCK_BOOTTIME、CLOCK_REALTIME_ALARM、CLOCK_BOOTTIME_ALARM、CLOCK_TAI。本文主要就是...
CLOCK_REALTIME:系统实时时间,即日历时间; CLOCK_MONOTONIC:从系统启动开始到现在为止的时间; CLOCK_PROCESS_CPUTIME_ID:本进程启动到执行到当前代码,系统CPU花费的时间; CLOCK_THREAD_CPUTIME_ID:本线程启动到执行到当前代码,系统CPU花费的时间; CLOCK_REALTIME_HR:CLOCK_REALTIME的细粒度(高精度)版本; CLOCK_MONO...
CLOCK_MONOTONIC_RAW,和CLOCK_MONOTONIC类似,但不同之处是MONOTONIC_RAW不会受到NTP的影响。CLOCK_MONOTONIC会受到NTP的影响并不是说NTP会去修改CLOCK_MONOTONIC,使其不连续,而是说当NTP server 和本地的时钟硬件之间有问题,NTP会影响到CLOCK_MONOTONIC的频率,但是MONOTONIC_RAW则不会受其影响。 其区别可以参考 Differen...
CLOCK_MONOTONIC_RAW,和CLOCK_MONOTONIC类似,但不同之处是MONOTONIC_RAW不会受到NTP的影响。CLOCK_MONOTONIC会受到NTP的影响并不是说NTP会去修改CLOCK_MONOTONIC,使其不连续,而是说当NTP server 和本地的时钟硬件之间有问题,NTP会影响到CLOCK_MONOTONIC的频率,但是MONOTONIC_RAW则不会受其影响。 其区别可以参考 Differen...
CLOCK_REALTIME 代表机器对当前挂钟、时间的最佳猜测。正如 Ignacio 和MarkR 所说,这意味着 CLOCK_REALTIME 可以随着系统时间时钟的更改(包括 NTP 更改)前后跳转。 CLOCK_MONOTONIC 表示自过去某个任意固定点以来经过的绝对挂钟时间。它不受系统时钟变化的影响。 如果您想计算在一台机器上观察到的两个事件之间的经过...
#define CLOCK_PROCESS_CPUTIME_ID 2 #define CLOCK_THREAD_CPUTIME_ID 3 #define CLOCK_MONOTONIC_RAW 4 #define CLOCK_REALTIME_COARSE 5 #define CLOCK_MONOTONIC_COARSE 6 #define CLOCK_BOOTTIME 7 #define CLOCK_REALTIME_ALARM 8 #define CLOCK_BOOTTIME_ALARM 9 ...
参数clock_id用来指定定时器时钟的类型,时钟类型有以下6种: CLOCK_REALTIME:系统实时时间,即日历时间; CLOCK_MONOTONIC:从系统启动开始到现在为止的时间; CLOCK_PROCESS_CPUTIME_ID:本进程启动到执行到当前代码,系统CPU花费的时间; CLOCK_THREAD_CPUTIME_ID:本线程启动到执行到当前代码,系统CPU花费的时间; ...
三、Linux下的各种clock总结 在linux系统中定义了如下的clock id: #define CLOCK_REALTIME 0 #define CLOCK_MONOTONIC 1 #define CLOCK_PROCESS_CPUTIME_ID 2 #define CLOCK_THREAD_CPUTIME_ID 3 #define CLOCK_MONOTONIC_RAW 4 #define CLOCK_REALTIME_COARSE 5 ...
CLOCK_REALTIME:系统实时时钟,表示从 Epoch(通常为 1970 年 1 月 1 日 0 点 0 分 0 秒 UTC)到当前的时间。 CLOCK_MONOTONIC:单调时钟,表示从某个未指定的起点到现在的时间,不受系统时间设置的影响。适用于测量时间间隔。 CLOCK_PROCESS_CPUTIME_ID:进程执行时间,表示当前进程消耗的 CPU 时间。
Linux系统中的时钟机制一直是开发者们关注的重点之一。在Linux系统中,有一个叫做clockmonotonic的时钟,它是一个用于计算时间间隔的重要工具。 clockmonotonic这个时钟具有很高的准确性,它能够保证在任何情况下都不会发生回流或者跳跃,因此被广泛应用于很多需要精确计时的场景中,比如实时监控系统、网络数据传输等。