hillstone cpu高排查方法
cpu作為裝置的核心,防火牆的任何模組的處理(或任何功能的開啟)都需要占用cpu資源。
圍繞防火牆在出現cpu高時能夠快速定位並解決這一目標,hillstone給出一些具體排查方法。
一、檢查裝置開啟的功能,具體如下:
1)show statistics-set //檢視裝置開啟統計集,如果開啟統計集較多,建議關閉一些沒用的統計集。
2)、檢視裝置是否開啟debug,並在不用時將其關閉。
show debug //檢視debug開啟情況 undebug all或連續按兩下esc //關閉debug
3)show session-limit //檢視裝置是否開啟session-limit,檢視session-limit是否有drop,如有沒有drop記錄建議關閉相應session-limit。
二、分析實際情況:
1)、檢視裝置是否有攻擊。
show logging security 和show ad zone trust statistics 檢視ad攻擊情況。
2)、show statistics-set predef_rampup_ip \\檢視裝置當前新建會話情況,看看有沒有新建會話數很高的ip。
開啟此統計集方法:
cli 下如下:
config
statistics-set
predef_rampup_ip
target-data rampup-rate record-history
group-by ip
active
exit
在檢視完畢時可以適當關閉此統計集,方法如下:
no statistics-set predef_rampup_ip
3)、比對現有配置與原配置區別。在情況允許的情況下檢視配置日誌,主要觀察在cpu高之前的一些配置資訊。
4)、通過show process命令檢視當前占用cpu較多的程序,重點關注d_plane之外的程序,看哪些比較高,
如果都是d_plane程序占用的最高,基本上可以確認是效能達到了極限。裝置process程序數很多,
5)、show cpu detail //檢視cpu按時間、按core的分布情況,檢視具體哪些core較高。
6)、通過show logging 檢視相應的日誌開啟及傳送情況,將不必要的日誌關閉。
show logging //檢視系統日誌開啟情況
no logging traffic on //關閉traffic log
no logging alarm to console //關閉alarm日誌傳送到 console
7)、檢視裝置目前流量情況,看是否達到裝置的效能處理極限。
通過show controller slot x port x statistic 檢視網路中實際的資料報的型別,
及show statistics inte***ce-counter inte***ce inte***ce-name second 檢視實際流量。
根據這兩個資料計算出當前cpu的可能範圍,計算方法:
舉例如下(重點關注紅色部分):
g5150# show controller slot 0 port 2 statistic clear
ethernet0/2: ingoodoctets: 149459273057976
inbadoctets: 0
ingoodpkts: 1041320608
inbadpkts: 0
inunicastpkts: 1039308946
inbroadcastpkts: 30548
inmulticastpkts: 1981114
incontrolpkts: 1841818
inundersizepkts: 0
inoversizepkts: 0
infragments: 0
injabbers: 0
inmacrcverrors: 0
incrcalignerrors: 0
如果想計算網路中1024~1516位元組的包的比例那麼這個數值為: n=3229483598/(1066118462+962721469+629952481+1811399299+3589872214+3229483598)=0.32
由此可以看出網路中1024~1518位元組的包的比例為32%(其他位元組的包的比例演算法一樣),再結合當前的介面流量來分析防火牆的cpu是否屬於正常範圍。
高CPU排查方法分享
1 軟體效能較差,占用cpu較多,往往是由於某段 邏輯演算法不佳導致,那如何在數以千計的函式中找到問題函式呢?2 在使用 runaway命令比較不同時間各執行緒占用cpu時間,找到cpu時間增漲較多的執行緒,那麼就初步定位了問題函式所在的問題執行緒,3 然後在不同的時刻觀察問題執行緒的呼叫棧,如果多...
CPU飆高問題排查
1 查詢哪個程序占用cpu 2 程序哪個執行緒占用cpu 3 查詢執行緒的堆疊資訊 cpu飆高時,基本就是三板斧就可以找到具體占用cpu的執行緒資訊,這樣,你就看到cpu這麼高,是什麼執行緒在搗亂了!可以使用top 或者top grep 使用者名稱 比如這裡我們可以使用 top grep deplo...
排查Java高CPU占用原因
top命令發現某個程序占用了100 的cpu 通過ps命令,進一步確定哪個程序出了問題 再檢視執行緒占用cpu的列表 找到占用cpu最高的執行緒,檢視tid,將其轉換為16進製制格式 printf x n tid 而後檢視堆疊資訊 jstack pid grep 16進製制tid a 60這裡報錯是...