亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 從ganglia流量圖異常追查到現(xiàn)在,開始懷疑是內(nèi)核問題了。 [打印本頁]

作者: weichongli    時間: 2010-04-28 14:07
標(biāo)題: 從ganglia流量圖異常追查到現(xiàn)在,開始懷疑是內(nèi)核問題了。
本帖最后由 weichongli 于 2010-04-28 14:37 編輯

2010-04-26 11:31

如下圖, 注意單位是P



經(jīng)過分析,是由于gmond收集數(shù)據(jù)時,經(jīng)常由于一些我沒找到的原因而得出了一個異常的大數(shù)。

ganglia的開發(fā)人員也意識到了這個問題,他們認(rèn)為是硬件錯誤導(dǎo)致的,并在libmetrics/linux/metrics.c提供了如下修正:
  1. #ifdef REMOVE_BOGUS_SPIKES
  2. /*
  3. ** Check for "invalid" data, caused by HW error. Throw away dubious data points
  4. ** FIXME: This should be done per-interface, with threshholds depending on actual link speed
  5. */
  6. if ((l_bin > 1.0e13) || (l_bout > 1.0e13) ||
  7. (l_pin > 1.0e8)  || (l_pout > 1.0e8)) {
  8. err_msg("update_ifdata(%s): %g %g %g %g / %g",caller,l_bin,l_bout,l_pin,l_pout,t);
  9. return;
  10. }
  11. #endif
復(fù)制代碼
但是默認(rèn)情況下,這個修正并未被激活,需要在編譯時使用

make CFLAGS=-DREMOVE_BOGUS_SPIKES

來將這段代碼編譯進(jìn)ganglia的二進(jìn)制程序

觀察中……
作者: weichongli    時間: 2010-04-28 14:09
2010.04.26 21:52 續(xù):
今天中午又蹦出來一個……雖然是T級別的,但仍然不行。

見下圖



考慮到目前我們單臺Server流量不會超過2Gbps,臨時修改了部分代碼(ganglia-3.1.7)

  1. diff metrics.c metrics.c.ori
  2. 219d218
  3. <               //TODO add log "%index %dev RxB TxB %dev RxB TxB"
  4. 231,232c230
  5. <             //debug_msg("update_ifdata(%s) - Overflow in rbi: %lu -> %lu",caller,ns->rbi,rbi);
  6. <             err_msg("update_ifdata(%s) - Overflow in rbi: %lu -> %lu",caller,ns->rbi,rbi);
  7. ---
  8. >             debug_msg("update_ifdata(%s) - Overflow in rbi: %lu -> %lu",caller,ns->rbi,rbi);
  9. 241,242c239
  10. <             //debug_msg("updata_ifdata(%s) - Overflow in rpi: %lu -> %lu",caller,ns->rpi,rpi);
  11. <             err_msg("updata_ifdata(%s) - Overflow in rpi: %lu -> %lu",caller,ns->rpi,rpi);
  12. ---
  13. >             debug_msg("updata_ifdata(%s) - Overflow in rpi: %lu -> %lu",caller,ns->rpi,rpi);
  14. 255,256c252
  15. <             //debug_msg("update_ifdata(%s) - Overflow in rbo: %lu -> %lu",caller,ns->rbo,rbo);
  16. <             err_msg("update_ifdata(%s) - Overflow in rbo: %lu -> %lu",caller,ns->rbo,rbo);
  17. ---
  18. >             debug_msg("update_ifdata(%s) - Overflow in rbo: %lu -> %lu",caller,ns->rbo,rbo);
  19. 265,266c261
  20. <             //debug_msg("update_ifdata(%s) - Overflow in rpo: %lu -> %lu",caller,ns->rpo,rpo);
  21. <             err_msg("update_ifdata(%s) - Overflow in rpo: %lu -> %lu",caller,ns->rpo,rpo);
  22. ---
  23. >             debug_msg("update_ifdata(%s) - Overflow in rpo: %lu -> %lu",caller,ns->rpo,rpo);
  24. 297,298c292
  25. < //     if ((l_bin > 1.0e13) || (l_bout > 1.0e13) ||
  26. <      if ((l_bin > 2.5e8) || (l_bout > 2.5e8) ||
  27. ---
  28. >      if ((l_bin > 1.0e13) || (l_bout > 1.0e13) ||
  29. 300,304c294
  30. <         err_msg("update_ifdata(%s): %lu %g, %lu %g, %lu %g, %lu %g / %g", caller,
  31. <             l_bytes_in, l_bin,
  32. <             l_bytes_out, l_bout,
  33. <             l_pkts_in, l_pin,
  34. <             l_pkts_in, l_pout,t);
  35. ---
  36. >         err_msg("update_ifdata(%s): %g %g %g %g / %g",caller,l_bin,l_bout,l_pin,l_pout,t);
復(fù)制代碼
本來想每次統(tǒng)計時都計算一次當(dāng)前機(jī)器的激活的網(wǎng)卡數(shù)量來做一個上限(例如2塊千M網(wǎng)卡,一塊全速,另一塊接了百M線,總量是1.1Gbps),特意從 ethtool的源代碼中抽取出一部分做了一個測試,但發(fā)現(xiàn)這種方式需要root權(quán)限。root權(quán)限是一定不會用的,另開一個進(jìn)程反而增加了整個方案的復(fù)雜度只能放棄這個誘人的打算

單靠丟棄不合理數(shù)據(jù)不是個根本的解決辦法,應(yīng)該弄清楚錯誤數(shù)據(jù)是怎么產(chǎn)生的。繼續(xù)觀察,明天有時間再修改一下,把所有日志都加進(jìn)去。
作者: weichongli    時間: 2010-04-28 14:14
本帖最后由 weichongli 于 2010-04-28 14:21 編輯

2010.04.28 13:45 續(xù)

還是不行……我加了一個函數(shù),把每次檢查時的update_file()讀取到的/proc/net/dev文件記錄下來,出問題時,在/var/log/message的3個時間點有如下記錄

Apr 27 23:19:13 hostname /opt/ganglia/sbin/gmond[18465]: update_ifdata(BO) - Overflow in rbo: 304634803029227 -> 630666266 [1272381553]
Apr 27 23:20:13 hostname /opt/ganglia/sbin/gmond[18465]: update_ifdata(BO) - Overflow in rbi: 10458900526801464705 -> 38016437180368 [1272381613]
Apr 27 23:20:13 hostname /opt/ganglia/sbin/gmond[18465]: update_ifdata(BO) - Overflow in rpo: 219388676028 -> 219365592250 [1272381613]


在對應(yīng)的時間點/proc/net/dev記錄的內(nèi)容如下:

------------------ 1272381433.117603 -----------------
Inter-|   Receive                                                |  Transmit
face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
lo:3143390051 39831988    0    0    0     0          0         0 3143390051 39831988    0    0    0     0       0          0
tunl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
eth0:38015520377153 135587033135    0 8587116    0     0          0         6 304631801519418 219359254753    0    0    0     0       0          0
eth1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

------------------ 1272381493.118502 -----------------
Inter-|   Receive                                                |  Transmit
face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
lo:3143407797 39832216    0    0    0     0          0         0 3143407797 39832216    0    0    0     0       0          0
tunl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
eth0:38015973907827 135588437010    0 8587116    0     0          0         6 304634803029227 219361451245    0    0    0     0       0          0
eth1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

------------------ 1272381553.121013 -----------------
Inter-|   Receive                                                |  Transmit
face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
lo:3143407797 39832216    0    0    0     0          0         0 3143407797 39832216    0    0    0     0       0          0
tunl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
eth0:10458900526801464705 135564674293    0 8587116    0     0          0 219363599555 630666266 219388676028 7723    0    0     0    7723          0
eth1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

------------------ 1272381613.123535 -----------------
Inter-|   Receive                                                |  Transmit
face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
lo:3143444605 39832676    0    0    0     0          0         0 3143444605 39832676    0    0    0     0       0          0
tunl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
eth0:38016437180368 135590918375    0 8587116    0     0          0         6 304640653909921 219365592250    0    0    0     0       0          0
eth1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0


難道這是個內(nèi)核BUG? (2.6.20)我覺得這個不應(yīng)該是硬件問題吧
作者: weichongli    時間: 2010-04-28 14:17
在1272381553這個時間點出了一個很異常的數(shù),在下一時間點又恢復(fù)正常
作者: weichongli    時間: 2010-04-28 18:58
貌似我發(fā)錯版塊了……誰能幫我移個位置?
作者: weichongli    時間: 2010-04-29 17:46
嗯……問題定位了

broadcom網(wǎng)卡驅(qū)動模塊bnx2有問題~




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2