X色综合网I人妻一级I中国一区二区三区毛片I亚洲影视精品I66av在线视频I色视屏I超碰999I日韩一区二区三区中文字幕I91超级碰I在线看岛国avI午夜精品久久久久久久男人的天堂I在线看AV的网站I人人干美女I亚洲产国偷v产偷v自拍涩爱I欧美高清va在线观看I久久六六热I国产精品7777I夜夜骚aV一区二区三区..啊

您好,歡迎進入北京泰福特電子科技有限公司官網

咨詢服務熱線

400-015-1230

Linux下GDB調試NTP時間同步問題

發布時間:2022-04-11 15:48:59

  最近有遇到一例比較有趣的Linux下NTP時間同步問題,嘗試了使用GDB調試的方法解決,在這里分享一些個人的心得,希望對大家有些幫助。

問題現象:

  ECS Linux CentOS實例中時間經常出現偏差,客戶已經根據官方文檔配置了NTP時間同步,同步源為文檔中***的公網NTP服務器嘗試調整一些同步頻率的參數,并沒有實際效果。其中注意到一個現象,如果我們列出NTP日志中信息,會發現一旦現 "no servers reachable" 之后,ntpd就會停止同步。而如果重啟ntpd同步問題就會暫時得到解決,過了一天左右問題又會復現。

調試過程:

  由于通過普通的ntpd的調整一些參數無法解決問題,決定采用GDB現場調試的方式來看看問題發生時為什么ntpd不再同步。

  調試之前我們首先要確認ntpd更新系統時間是具體在哪個函數中實現的。因此首先采用閱讀Linux NTP代碼的方式將范圍縮小,確認具體代碼段如下:

void

clock_select(void)

{

...

clock_update(); <----------- 更新系統時間

因此我首先將斷點設在clock_select,結果是可以中到,得到的堆棧如下:

因此我進一步可以設置斷點到clock_update附近:

設置斷點到clock_update但是這次沒有中,因此可以判定是在之前的邏輯判斷中跳出了。進一步跟蹤后發現:

for (n = 0; n < NTP_HASH_SIZE; n++) {

for (peer = peer_hash[n]; peer != NULL;peer =

peer->next) {

peer->flags &= ~FLAG_SYSPEER;

peer->status = CTL_PST_SEL_REJECT;

/*

* Leave the island immediately if the peer is

* unfit to synchronize.

*/

if (peer_unfit(peer))

continue;

  如上代碼我們對每一個時間同步源會調用peer_unfit來判斷他是否“適合”做時間同步。如果所有同步源都不適合做同步的話,自然就會跳出。因此接下去我們可以考慮設置斷點在peer_unfit,并且查看其返回值:

    注意上圖是在本地正常的測試機上截取的,而在用戶機器上返回值寄存器rax為1,因此可以判斷所有配置的同步源被peer_unfit中的邏輯判斷為不適合做同步。

因此我們接下去就可以使用相同的方法對peer_unfit做進一步跟蹤:

我們發現失敗在如下的檢查:

if (root_distance(peer) >= sys_maxdist + clock_phi *

ULOGTOD(sys_poll))

rval |= TEST11;     /* distance exceeded */

匯編代碼如下:

匯編代碼

    這表明計算下來本地時鐘和遠端NTP服務器的distance過大。clock_phi 是晶振的頻率為0.000015,而sys_poll是同步的詢問時間,兩者相乘是非常小的。所以主要比較的是當前的distance和sys_maxdist,后者默認為1。

root_distance是一個相對復雜的計算:

dist += max(sys_mindisp, dist + peer->delay) / 2 +

peer->rootdispersion + peer->disp + clock_phi *

(current_time - peer->update) + peer->jitter;

其中可以發現他和當前時鐘和NTP服務上次成功的時間,兩者的差值有關。因此如果時鐘走的比較快,而有一次甚至幾次同步失敗,整個NTP服務就有可能不會再進行同步了。

尋找解決方案:

以上比較的幾個參數中***可調的就是sys_maxdist,我們可以繼續閱讀Linux代碼來了解怎么調整他:

case CONF_TOS_MAXDIST:

proto_config(PROTO_MAXDIST, 0, ftemp, NULL);

因此我們可以通過在ntp.conf中添加"tos maxdist"可以增大,從而容忍本地時鐘過快。

以上一例是采用GDB調試的方法來解決一些服務產生的問題,希望給大家提供解決問題的另一種思路。


  • 聯系方式
  • 傳 真:86-10-82782026
  • 電 話:400-015-1230
  • 地 址:北京市海淀區北清路68號院用友軟件園北區17號樓三層
在線咨詢

咨詢電話:

400-015-1230

  • 微信掃碼 關注我們

Copyright ? 2002-2035 北京泰福特電子科技有限公司 版權所有 備案號:京ICP備12028220號
京公網安備 11010802025976號

掃一掃咨詢微信客服

18519396506
主站蜘蛛池模板: 大又大又粗又硬又爽少妇毛片 | 青青草免费看 | 国产精品亚洲专区无码破解版 | 无码少妇精品一区二区免费 | 日本高清毛片中文视频 | 国产又粗又硬又长又爽的演员 | 精品国产拍国产天天人 | 日本乱码伦视频免费播放 | 欧美v日韩 | 97狠狠狠狼鲁亚洲综合网 | 日韩一级一区 | 日本三级小视频 | 日韩精品www| 无码人妻精品中文字幕不卡 | 最新版天堂资源网在线种子 | 国产精品福利一区二区三区 | av在线一 | 黄网址在线 | 乱人伦人妻系列 | 香蕉久久夜色精品国产更新时间 | 免费吃奶摸下激烈视频青青网 | 国产av剧情md精品磨豆 | 国产激情综合在线观看 | 欧美精品v欧洲精品 | 午夜精品久久久 | 老熟女高潮喷水了 | 国产精品久久久久不卡绿巨人 | 国产精品久久久久久久影院 | 免费毛片视频 | 熟女少妇精品一区二区 | 欧美日产国产新一区 | 国产精品久久久久久久久久久久久久 | 色老板精品无码免费视频 | 一级片aaa | 国产人妻人伦精品久久久 | 亚洲网av| 中文字幕无码中文字幕有码 | 精品九九人人做人人爱 | 无码国产精品一区二区免费式影视 | 欧美激情一区二区三区四区 | 少妇又紧又色又爽又刺激 | 亚洲综合精品一区二区三区 | 四虎视频国产精品免费入口 | 免费午夜福利在线观看视频 | 国产精品丝袜综合区旗袍 | 亚洲s码欧洲m码国产av | 亚洲国产精品视频一区 | 在线国产一区二区三区 | 自拍偷在线精品自拍偷免费 | 午夜亚洲精品久久一区二区 | 小12箩利洗澡无码视频网站 | 亚洲成人精品女人久久久 | 日韩精品一区二区在线 | 亚洲熟妇国产熟妇肥婆 | 日韩在线观看视频一区二区三区 | 日韩不卡1卡2卡三卡2021精品推荐 | 啪啪网站免费 | 在线综合亚洲中文精品 | 日韩a片无码一区二区三区电影 | 国产乱人伦真实精品视频 | 少妇大叫太大太粗太爽了 | 亚洲精品av无码重口另类 | 国产精品-区区久久久狼 | 亚洲精品国产黑色丝袜 | 亚洲成av人在线观看成年美女 | eeuss鲁丝片一区二区三区 | 欧美人人爽 | 性欧美高清come | 久久人人97超碰精品 | 舔高中女生奶头内射视频 | 热99re久久精品这里都是精品免费 | 婷婷激情综合网 | 男人的天堂一区二区 | 无码国产午夜福利片在线观看 | 亚洲色一色噜一噜噜噜 | 色噜噜狠狠色综合日日 | 国产一区观看 | 欧美激情国产精品免费 | 无码伊人66久久大杳蕉网站谷歌 | 国产亚洲成人av | 亚洲综合色站 | 日韩 国产 变态另类 欧美 | 婷婷色五月开心五月 | 亚洲国产精品无码久久久动漫 | 亚洲区中文字幕 | 国产精品人妻久久ai换脸 | 国产高潮刺激叫喊视频 | 亚洲综合另类小说专区 | 亚洲精品无码国产 | 日本欧美大码a在线观看 | 初尝人妻少妇中文字幕 | 国产大片黄 | 18禁高潮出水呻吟娇喘蜜芽 | 国产视频在线观看一区二区 | 亚洲区少妇熟女专区 | 久久久久久久女国产乱让韩 | 18禁美女黄网站色大片免费网站 | 免费午夜无码18禁无码影视 | 免费观看国产精品 |
Powered by RRZCMS