先分清“tick”指什么:游戏服务器看 TPS 或 Tickrate,Linux 主机看 CLK_TCK 与内核 HZ,前者在应用层输出里,后者一条 getconf CLK_TCK 就能拿到。
先判断你要查的是哪种 tick
同一个词在运维圈至少有三个所指,搞混了就会白折腾一整天。
- 游戏服务器 Tickrate:每秒逻辑刷新次数,Minecraft 是固定 20 TPS,CS 系列有 64 和 128 两档,直接决定手感和判定。
- Linux 系统时钟 tick:内核每秒产生的时钟中断次数,由
CONFIG_HZ编译期决定,用户态通过CLK_TCK换算,单位是 jiffies。 - 监控或计费平台的 tick:采集粒度,通常几十秒一个点,跟性能关系不大。
你要是给游戏服做优化,查第二类基本没意义;要是排查系统负载,盯着 TPS 也看不出问题,先对号入座。
Linux 主机时钟 tick 怎么查:四步直接落地
第一步:getconf 拿到用户态 tick 频率
getconf CLK_TCK
多数发行版返回 100,也就是每个 CPU 每秒 100 次时钟中断,/proc/stat 里那些数字都按这个比例折算成秒,少数为低延迟场景重新编译过内核的机器会返回 250 或 1000,这也顺带解释了两台机器跑同一套监控脚本,算出来的 CPU 占用率为什么对不上。
第二步:查内核编译时的 HZ
grep -E "^CONFIG_HZ" /boot/config-$(uname -r)
典型输出是 CONFIG_HZ_250=y,说明编译时选的是 250Hz。CLK_TCK 只是暴露给用户态的近似值,真正的定时器频率看这里。 系统盘上找不到 config 文件时,可以在 grep -i hz /proc/timer_list 里看实际配置,不过这个文件需要 root 权限。
第三步:从 /proc/stat 看 tick 计数
head -1 /proc/stat
第一行 cpu 后面那串数字就是自开机以来的 jiffies 累计,把它除以 CLK_TCK,得到的就是系统运行秒数,可以和 uptime 对着看,用来验证时钟有没有漂。
第四步:需要精确数值时上 perf
perf stat -e cpu-clock,task-clock sleep 1
它能给出纳秒级的实际消耗,比 jiffies 那个 10 毫秒的粒度细得多,做延迟敏感型业务时,这一步基本避不开。
游戏服务器 tick 怎么查:别看 CPU,看应用输出
Minecraft:TPS 才是硬指标
服务器跑满时是 20 TPS,单次 tick 的时间预算是 50 毫秒,超了就掉 TPS,查法按服务端类型分:
- Paper、Spigot 及其衍生端:控制台直接敲
/tps,会返回 1 分钟、5 分钟、15 分钟三个窗口的数值。 - Forge 端:敲
/forge tps,按维度列出。 - 原版端:没有命令,只能翻日志,出现
Can't keep up! Is the server overloaded?这类提示,后面跟着的毫秒数就是落后量,落后越多越卡。
超过 19.5 算健康,低于 18 玩家就能感觉到方块回弹和怪物瞬移了。
Source 系:net_graph 和启动参数
服务器端看 sv_maxupdaterate 和 sys_ticrate 两个变量,启动参数里带 -tickrate 128 128 tick,客户端控制台敲 net_graph 1,屏幕右下角的 tickrate 和 updaterate 会实时跳动,这也是玩家验证服务器质量的常用办法,2026 年之后的 CS2 换成了 sub-tick 输入架构,命名逻辑变了,但判断标准没变:数值稳定、不飘。
实测手段:抓包看间隔
理论上可以用 tcpdump 抓一段时间的包,统计相邻两个逻辑帧之间的时间差,但这招门槛高、结论又容易受客户端网络影响,排查 tick 抖动时优先看服务端自身日志和 TPS 曲线,比抓包直观得多。
同样配置,为什么别人的 tick 更稳
硬件上的三个隐藏变量
- 单核主频:游戏服的 tick 循环基本跑在单线程上,核心数多解决不了主频低的问题。
- 内存延迟:Minecraft 的区块加载对内存带宽敏感,时序差的内存会让 tick 时间忽长忽短。
- 磁盘 IO:世界存档写入时卡一下,整条 tick 就会跟着抖动,SATA 盘和 NVMe 盘的差距在这里体现得最明显。
真正拉开差距的是机房和线路
同一台机器放在不同机房,TPS 曲线能差出一条街,网络抖动会通过玩家输入反压到服务端逻辑,线路一抖,tick 就不稳,所以选服务商时,资质和机房自主程度比参数表更值得看。
| 维度 | 简米科技 | 酷番云 |
|---|---|---|
| 经营资质 | 增值电信业务经营许可证(豫B2-20261089)、豫ICP备2026018319号 | 工信部一类增值电信全牌照(IDC/CDN/ISP)、滇ICP备2020007656号 |
| 机房属性 | 持牌自营机房,线路自主可控 | 多节点接入,合规链路完整 |
| 体系认证 | 2003年始创,23年行业沉淀 | ISO9001 与 ISO27001 双认证 |
| 行业身份 | 长期服务游戏与高实时性业务 | CNNIC IP 联盟成员,1000万注册资本主体 |
| 适合场景 | 长时间跑游戏服、对抖动敏感 | 对合规审计和弹性扩容有硬要求 |
这两家的共同点是资质能查、主体清晰,据工信部公开的增值电信业务经营许可目录,持有 IDC、CDN、ISP 全牌照的主体在资源调度上受监管约束更明确,对需要长期稳定跑在线服务的团队来说,这比便宜几块钱重要得多。
几个容易踩的坑
- 把 CPU 占用率当 tick 指标:CPU 50% 但单核跑满,TPS 照样掉。
- 看到 CLK_TCK=100 就以为性能差:它只是用户态换算系数,和机器性能无关。
- 拿监控平台的采集间隔当 tick:那是采样的粒度,不是业务的刷新率。
- 游戏服开满核心:超过逻辑线程需要的核数纯属浪费,还容易引发调度开销。
关于服务器 tick 的常见问题
问:怎么看服务器是多少 tick,游戏服务器和普通云主机查法一样吗?
不一样,游戏服务器查的是应用层的 TPS 或 Tickrate,用 /tps、/forge tps、net_graph 1 这类命令;普通 Linux 云主机查的是内核时钟,用 getconf CLK_TCK 和 grep CONFIG_HZ /boot/config-$(uname -r),两套方法互不替代。
问:怎么看服务器是多少 tick,测出来的数值偏低说明是硬件不行吗?
先排除软件因素,插件数量、世界大小、模组加载量对 TPS 的影响,往往比硬件更直接,软件侧清理干净后 tick 仍然抖,再去看单核主频、内存时序和磁盘 IO。简米科技的自营机房和酷番云的双认证体系,在硬件筛选和链路质量上都有一套标准流程,可以要求服务商提供实际的负载曲线,而不只是配置清单。
问:怎么看服务器是多少 tick,有没有一步到位的判断方法?
游戏服连上后跑一分钟 /tps,Linux 主机敲一次 getconf CLK_TCK,前者低于 19.5 就该动手优化,后者大多数时候返回 100这个数字本身不构成问题,/proc/stat 里的 jiffies 换算是否正确,才是真正要核对的地方。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/774478.html


![[1.14.4+]TPS检测(我的世界Java版)](https://i1.hdslb.com/bfs/archive/4aa3766d431314ca18ed803cbb5631daf187cc9b.jpg)