我正在运行少量游戏服务器(每个CPU核心一个)。然而,尽管硬件功能非常强大且没有其他任务在这些内核上运行,但我仍然面临着与每秒帧数稳定性相关的一些问题。有些东西导致游戏服务器进程等待时间过长(有时长达3-4毫秒,这在我的情况下是不可接受的)。
Strace实用程序显示如下内容:
17:56:27.683580 gettimeofday({1374414987, 683587}, NULL) = 0 <0.000003>
17:56:27.683599 gettimeofday({1374414987, 683606}, NULL) = 0 <0.000003>
17:56:27.683619 gettimeofday({1374414987, 683626}, NULL) = 0 <0.001693>
17:56:27.685387 gettimeofday({1374414987, 685437}, NULL) = 0 <0.000034>
17:56:27.685492 gettimeofday({1374414987, 685550}, NULL) = 0 <0.000025>
也许这就是为什么这些滞后(考虑到游戏服务器进程是单线程的)发生的原因。
然而,问题是为什么一些系统调用会花费这么多时间?我已经尝试过使用各种内核类型的内核,但结果仍然相同。
期待您的帮助。
P.S。
OS - Debian 7 64位
Linux内核版本 - 3.2.46