可靠地找到同一台机器上两个时钟之间的偏移量
Reliably find offset between two clocks on the same machine
clock_gettime(2)
的 Linux 手册页很好地解释了 CLOCK_REALTIME
和 CLOCK_MONOTONIC
之间的含义差异。在任何给定时间,这两个时钟都会偏移一些不同的偏移量。我想跟踪这个偏移量。一个简单的近似值是
struct timespec rtime, mtime;
clock_gettime(CLOCK_REALTIME, &rtime);
clock_gettime(CLOCK_MONOTONIC, &mtime);
// subtract the timespecs here.
但是两次调用之间存在不可预测的延迟。内核能否在单个 "atomic" 操作中给我可靠的偏移量估计?
顺便说一句:我认为 Starting point for CLOCK_MONOTONIC 中的 OP 想要相同的信息。但是那里的回答者似乎在回答不同的问题,所以我想我会用自己的话来问。
adjtimex 将 return 有关系统时钟相对于之前的 adjtime 调用如何变化的状态的信息。这可能不完全符合您的要求,但它可能会为您提供足够或等效的信息来满足您的任何需求。
clock_gettime(2)
的 Linux 手册页很好地解释了 CLOCK_REALTIME
和 CLOCK_MONOTONIC
之间的含义差异。在任何给定时间,这两个时钟都会偏移一些不同的偏移量。我想跟踪这个偏移量。一个简单的近似值是
struct timespec rtime, mtime;
clock_gettime(CLOCK_REALTIME, &rtime);
clock_gettime(CLOCK_MONOTONIC, &mtime);
// subtract the timespecs here.
但是两次调用之间存在不可预测的延迟。内核能否在单个 "atomic" 操作中给我可靠的偏移量估计?
顺便说一句:我认为 Starting point for CLOCK_MONOTONIC 中的 OP 想要相同的信息。但是那里的回答者似乎在回答不同的问题,所以我想我会用自己的话来问。
adjtimex 将 return 有关系统时钟相对于之前的 adjtime 调用如何变化的状态的信息。这可能不完全符合您的要求,但它可能会为您提供足够或等效的信息来满足您的任何需求。