5月4日
10.1 使用w檢視系統負載
1. 使用w檢視系統負載(主要檢視CPU的負載)
解釋:linux管理員最常用的命令就是這個w了,該命令顯示的資訊很豐富。第一行從左至右顯示的資訊依次為:時間、系統執行時間、登入使用者數、平均負載。
第二行開始的所有行則是告訴我們:當前登入的使用者名稱及其登入地址等。
注意:在這裡面最應該關注的應該是第一行中的load average:後面三個數值。
第一個數值表示一分鐘內系統的平均負載值。
第二個數值表示五分鐘內系統的平均負載值。
第三個數值表示十五分鐘內系統的平均負載值。
備註:我們著重看第一個值,它表示單位時間段內使用cpu的活動程序數(在這裡其實就是一分鐘內)值越大就說明伺服器壓力越大。一般情況下,這個值只要不超過伺服器的cpu數量就沒有關係,如果伺服器的cpu數量為8,那麼值小於就說明當前伺服器沒有壓力,否則就要關注下。
1.1 檢視伺服器有幾個CPU核數 (邏輯CPU)
這裡的processor計數從0開始,也就是說第一個顯示為0,第二個顯示為1
命令:cat /proc/cpuinfo
1.1.1檢視當前系統有幾個cpu
命令:grep -c 'processor' /proc/cpuinfo
10.2 vmstat命令
一、1.vmstat命令的含義為顯示虛擬記憶體狀態(“Viryual Memor Statics”),它可以報告關於程序、記憶體、I/O等系統整體執行狀態。讓我們知道系統的使用瓶頸在哪裡。
解釋相關程序的作用,重點關注r、b、si、so、bi、bo這幾列資訊:
2. procs顯示程序的相關資訊。
2.1 r (run):表示執行或等待CPU時間片的程序數。說明:不要誤以為等待CPU時間片意味著這個程序沒有進行,實際上某一時刻一個CPU只能有一個程序,其他程序只能排著隊等著,此時這些排隊等待CPU資源的程序依然是執行狀態。該數值如果長期大於伺服器CPU的個數,則說明CPU資源不夠用了。
2.2 b (block):表示等待資源的程序數,這個資源指的是I/O、記憶體等。舉個例子:當磁碟讀寫非常頻繁時,寫資料就會非常慢,此時CPU運算很快就結束了,但程序需要把計算的結果寫入磁碟,這樣程序的任務才算完成,那此時這個程序只能慢慢地等待,這樣這個程序就是這個b狀態。該數值如果長時間大於1,則需要關注一下。
3. memory顯示記憶體的相關資訊
swpd:表示切換到交換分割槽中的記憶體數量,單位為KB。
free:表示當前空閒的記憶體數量,單位為KB。
buff:表示(即將寫入磁碟的)緩衝大小,單位為KB。
cache:表示(從磁碟中讀取的)快取大小,單位為KB。
4. swap顯示記憶體的交換情況。
si:表示由交換區寫入記憶體的資料量,單位為KB。
so:表示由記憶體寫入交換區的資料量,單位為KB。
5. io顯示磁碟的使用情況。
bi:表示從塊裝置讀取資料的量(讀磁碟),單位為KB。
bo:表示從塊裝置寫入資料的量(寫磁碟),單位為KB。
6. system顯示採集間隔內發生的中斷次數。
in:表示在某一時間間隔內觀測到的每秒裝置的中斷次數。
cs:表示每秒產生的上下文切換次數。
7. cpu顯示CPU的使用狀態。
us:顯示使用者下花費CPU的時間百分比。
sy:顯示系統花費CPU的時間百分比。
id:表示CPU處於空閒狀態的時間百分比。
wa:表示I/O等待所佔用CPU的時間百分比。
st:表示被偷走的CPU所佔百分比(一般都為0,不用關注)
二、關注r列,b列,和wa列
另外當si, so兩列的數值比較高,並且在不斷變化時,說明記憶體不夠了
10.3 top命令
1.top命令查看程序使用資源情況
top命令用於動態監控程序所佔的系統資源,每隔3秒變一次。它的特點是把佔用系統資源(cpu、記憶體、硬碟I/O等)最高的程序放到最前面。
關注的也就是幾項:%CPU, %MEM, COMMAND,load average,tasks
2.top -c命令顯示詳細的程序命令資訊
3. top -bn1 命令靜態顯示所有程序
備註:
q退出top,數字1顯示所有核cpu
大寫字母M按記憶體使用排序
大寫字母P按cpu使用排序
kill+pid 殺死程序
RES表示程序佔用的記憶體數量。
10.4 sar命令
1. sar監控系統狀態(主要檢視歷史的網絡卡流量)
ar 命令很強大,被戲稱為瑞士×××。它可以監控系統幾乎所有資源的狀態,比如平均負載、網上流量、磁碟狀態,記憶體使用等。與其他系統狀態監控工具不同,它主要可以列印歷史資訊,可以顯示當天從零點開始到當前時刻的系統狀態資訊。
2. 使用yum安裝sysstat獲得,命令:yum install -y sysstat 安裝
(初次使用sar命令會報錯,那是因為sar工具還沒有生成相應的資料庫檔案(每隔10分鐘生成資料)。它的資料庫檔案在 “/var/log/sa/” 目錄下,預設儲存一個月)
3. 檢視網絡卡流量歷史命令:sar -n DEV
解釋:
IFACE這一列表示裝置名稱.
rxpck/s這一列表示每秒進入收取的包的數量有多少。
txpck/s這一列表示每秒傳送出去的包的數量有多少。
rxkB/s這一列表示每秒收取的資料量(單位為KB)。
txkB/S這一列表示每秒傳送的資料量。
如果rxpck/s 那一列的數值大於4000,或者者rxkB/s那一列的數值大於50000000,很有可能是被***了,正常的伺服器網絡卡流量不會這麼高,除非是你自己在複製資料
4.實時檢視網絡卡流量命令:sar -n DEV 1 5
5 檢視某一天的網絡卡流量歷史,.使用-f選項,後面跟檔名 (預設會儲存30天)
命令:sar -n DEV -f /var/log/sa/sa30
(在Red Hat或者CentOS發行版中,sar的庫文件一定在/var/log/sa/目錄下)
6.檢視歷史負載命令:sar -q
7.歷史磁碟讀寫命令:sar -b
10.5 nload命令
1. sar雖然可以檢視網絡卡流量,但是不夠直觀,還有一個更好用的工具,
那就是nload更直觀的檢視網絡卡進出流量
1.1 安裝nload命令:
先安裝:yum install -y epel-release 安裝擴充套件源
再安裝:yum install -y nload 因為nload依賴於epel-release。
1.2 使用命令:nload (按q退出介面)
說明:
Incoming為進入網絡卡的流量。
Outgoing為網絡卡出去的流量。
主要關注Curr那行的資料,其單位也可以動態自動調整。
按q退出該介面。
轉載於:https://blog.51cto.com/404006045/2112897