在Linux系统中,CONFIG_HZ与USER_HZ是两个易混淆的时间单位概念,前者定义内核定时器精度,后者影响用户空间程序的时间显示。本文从技术定义、作用范围、配置方式三个维度简明解析其差异。
1、核心定义对比

2、作用范围差异
CONFIG_HZ
内核层:控制jiffies的递增速度(1Hz=1个定时器中断)。
影响:进程调度精度、网络包间隔、电源管理等。
USER_HZ
用户层:传统程序(如ps、top)显示的时间单位换算基准。
现象:即使CONFIG_HZ=1000,用户空间仍可能显示“1秒=100 USER_HZ单位”。
3、配置与兼容性
CONFIG_HZ配置
路径:make menuconfig → Kernel features → Timer frequency。
风险:高HZ值(如1000)可能增加CPU中断负载。
USER_HZ的遗留问题
现代程序(如systemd)已弃用USER_HZ,改用CLOCK_MONOTONIC等真实时间源。
残留场景:旧版uptime命令可能误报时间(需export HZ=1000修正)。
4、关键区别总结

本文凡亿教育原创文章,转载请注明来源!

扫码关注










































