leap second 是指Linux系统自动调整系统时间,这通常会发生在某个月的月末,很可能是6月和12月的月底,当leap second发生的时候可能会导致应用程序(Java)很繁忙,从而导致响应很慢。
若如下命令返回中有leap=01,那么就意味着将会有leap second发生
ntpq -c "lassoc" -c "mrv &1 &999 leap,srcadr,stratum"
若如下命令返回中有“no leap seconds”, 则表示不会有leap second发生。
file /etc/localtime
若如下命令有返回,则表示会有leap second发生。
ntptime |egrep 'INS|DEL'
若你的系统存在leap second问题,可以用以下办法解决。
- 停止ntpd服务
- 重设内核状态和频率,
ntptime -s 0 -f 0
- 在/etc/sysconfig/ntpd文件中追加-x,启用slew mode