閏秒導(dǎo)致部分 Linux 服務(wù)器高 CPU 使用率
國(guó)際地球自轉(zhuǎn)和參考坐標(biāo)系統(tǒng)服務(wù)(IERS)在2012年6月30日午夜(北京時(shí)間7月1號(hào)7點(diǎn)59分59秒)增加一閏秒(即出現(xiàn)7:59:60)。
由于Linux kernel 2.6.29之前版本存在bug,在進(jìn)行閏秒調(diào)整時(shí)可能會(huì)引起系統(tǒng)時(shí)鐘服務(wù)ntpd進(jìn)程死鎖。Debian Lenny、RHEL/CentOS 5等舊發(fā)行版今天仍被廣泛使用,部分供應(yīng)商早已經(jīng)發(fā)布了補(bǔ)丁。但除了Linux服務(wù)器外,一些服務(wù)器程序也因?yàn)殚c秒出現(xiàn)了問題,如Reddit、Mozilla、FourSquare、Yelp、LinkedIn和Gawker等網(wǎng)站都短暫遭遇了技術(shù)問題,國(guó)內(nèi)的一家云儲(chǔ)存供應(yīng)商發(fā)現(xiàn)運(yùn)行在CentOS 6.2上的Java和MySQL因閏秒出現(xiàn)了不同程度的CPU利用率增長(zhǎng),猜測(cè)是JVM和MySQL試圖通過CPU硬件晶振的數(shù)據(jù)獲得當(dāng)前精確的時(shí)間,由于閏秒的關(guān)系,這個(gè)時(shí)間和操作系統(tǒng)維持的墻上時(shí)間(Wall Time,也就是顯示給用戶看的時(shí)間)不一致,導(dǎo)致了這個(gè)問題。
簡(jiǎn)單的修正方法是強(qiáng)制重置系統(tǒng)時(shí)間,讓系統(tǒng)中所有時(shí)間回到同步的狀態(tài)。