今天我决定el5
用 yum 更新我多年前的旧内核。我不知道的是,当时运行的内核是定制的,更新并重启后,网络驱动程序开始加载失败,因此我决定从旧内核启动比尝试修复定制内核更能节省时间。
先前的自定义内核是2.6.39
,而当前降级的内核是2.6.18-308.11.1
(两者x64
)。
降级后,网络驱动程序再次正确加载,但现在ping
不再以微秒为单位进行测量。相反,它只会向上/向下舍入到最接近的毫秒整数,如下所示:
PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.
64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=1.00 ms
64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=0.000 ms
64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=2.00 ms
64 bytes from 10.10.10.1: icmp_seq=4 ttl=64 time=1.00 ms
64 bytes from 10.10.10.1: icmp_seq=5 ttl=64 time=0.000 ms
内核中是否存在任何已知设置会导致这种情况发生?我在 Google 上搜索了一下,但没有找到任何遇到同样问题的人。
答案1
不幸的是,看起来高分辨率计时器(亚毫秒)直到 2.6.21 版本才完全进入内核。
您可能需要将内核重新升级为过去 8.9 年内发布的版本。:-)
看http://elinux.org/High_Resolution_Timers或者在 Google 上搜索“Linux 高分辨率计时器”,或者查看 time(7) 手册页。