Linux操作系統調優相關工具(四)查看Network運行狀態 和系統整體運行狀態

一、使用nload監控總體帶寬使用情況 

1.1安裝nload
[root@120 ~]# yum install epel-release -y   
[root@120 ~]# yum install nload -y

二、開始監控
[root@120 ~]# nload   #開始監控
然後另一個終端上運行ab,開始測試:
[root@120 ~]# ab -n 1000 -c 2 http://www.baidu.com/index.html  #產生一些測試數據

三、使用nethogs找出使用帶寬最多的進程

3.1上傳到nethogs到linux上:
[root@120 ~]# yum install  epel-release  nethogs -y 
[root@120 ~]# nethogs    就可以看到


3.2在另一個終端生成一些數據:下載個文件

 

四、 查看系統整體運行狀態

4.1  使用vmstat查看內存及系統整體運行狀態
vmstat  :命令是最常見的Linux/Unix監控工具,可以展現給定時間間隔的服務器的狀態值,包括服務器的CPU使用率,MEM內存使用,VMSwap虛擬內存交換情況,IO讀寫情況。
使用vmstat可以看到整個機器的CPU,內存,IO的使用情況,而不是單單看到各個進程的CPU使用率和內存使用率。  比top命令節省資源。
注:當機器運行比較慢時,建議大家使用vmstat查看運行狀態,不需要使用top,因top使用資源比較多。
例:[root@120 ~]# vmstat 

每一列參數作用:
r 運行狀態的進程個數 。展示了正在執行和等待cpu資源的任務個數。當這個值超過了cpu個數,就會出現cpu瓶頸。
b 不可中斷睡眠 正在進行i/o等待--阻塞狀態的進程個數  進程讀取外設上的數據,等待時 

free   剩餘內存,單位是KB
buffers #內存從磁盤讀出的內容
cached #內存需要寫入磁盤的內容

si  swapin   swap換入到內存
so swapout  內存換出到swap   換出的越多,內存越不夠用

bi  blockin 從硬盤往內存讀。 單位是塊。   把磁盤中的數據讀入內存
bo blockout 從內存拿出到硬盤 (週期性的有值) 寫到硬盤
#判斷是讀多還是寫多,是否有i/o瓶頸

in 系統的中斷次數,cpu調度的次數多
cs 每秒的上下文切換速度   
CPU上下文切換--程序在運行的時候,CPU對每個程序切換的過程。
us 用戶CPU時間
sy 系統CPU時間,如果太高,表示系統調用時間長,例如是IO操作頻繁。
id  空閒 CPU時間,一般來說,id + us + sy = 100,一般我認爲id是空閒CPU使用率,us是用戶CPU使用率sy是系統CPU使用率。
wt  等待IO CPU時間。
st:Steal time  虛擬 CPU 等待實際 CPU 的時間的百分比

 

4.2  使用sar命令記錄系統一段時間的運行狀態
安裝sar命令
[root@120 ~]# yum -y install sysstat
sysstat 工具包可以把檢查到的信息保存下來,存在/var/log/sa目錄下。 sar 默認顯示每10分鐘統計一次狀態信息(從裝sysstat包開始)
sar 命令行的常用格式: sar [options] [-A] [-o file] t [n]
在命令行中,n 和t 兩個參數組合起來定義採樣間隔和次數,t爲採樣間隔,是必須有的參數,n爲採樣次數,是可選的,默認值是1,-o file表示將命令結果以二進制格式存放在文件中,file 在此處不是關鍵字,是文件名。options 爲命令行選項,sar命令的選項很多,

下面只列出常用選項:

-A:所有報告的總和。 

-n:網絡接口的情況。

-u:CPU利用率 

-v:進程、I節點、文件和鎖表狀態。 

-d:硬盤使用報告。 

-r:沒有使用的內存頁面和硬盤塊。 

-g:串口I/O的情況。 

-b:緩衝區使用情況。 

-a:文件讀寫情況。 

-c:系統調用情況。 

-R:進程的活動情況。 

-y:終端設備活動情況。 

-w:系統交換活動。 

-o 文件名:打印到屏幕並將採樣結果以二進制形式存入當前目錄下的文件中。

-f 文件名:查看之前保存的二進制文件。

-d 顯示磁盤

-d 1 100 必須得指定次數

-c 每秒創建進程的個數

-i 1 10 指定時間間隔

-P 查看cpu

-r 查看內存

-w 每秒上下文切換次數

-o /cpu.sar 保存並顯示

-f cpu.sar 讀取

例1:每2秒採樣一次,連續採樣5次,觀察CPU 的使用情況,並將採樣結果以二進制形式存入當前目錄下的文件cpu.sar中
[root@120 ~]# sar -u 2 5 -o cpu.sar  #屏幕顯示以一下內容,同時內容也會寫到當前目錄的./cpu.sar中
[root@120 ~]#  sar -u 2 5 -o cpu.sar 

在顯示內容包括:

%usr:CPU處在用戶模式下的時間百分比。 
%sys:CPU處在系統模式下的時間百分比。 
%iow:CPU等待輸入輸出完成時間的百分比。 
%idle:CPU空閒時間百分比。

在所有的顯示中,我們應主要注意%iow和%idle,%iow的值過高,表示硬盤存在I/O瓶頸,%idle值高,表示CPU較空閒,如果%idle值高但系統響應慢時,有可能是CPU等待分配內存,此時應加大內存容量。%idle值如果持續低於10,那麼系統的CPU處理能力相對較低,表明系統中最需要解決的資源是CPU。

例:查看二進制文件cpu.sar中的內容 
[root@120 ~]# sar -u -f cpu.sar 
注:sar命令即可以實時採樣,又可以對以往的採樣結果進行查詢。

4.3  查看sar 的計劃任務並讀取日誌:
1、查看sar 的計劃任務
[root@120 ~]# cat  /etc/cron.d/sysstat

2、讀取日誌
[root@120 ~]# ls /var/log/sa   #只要安裝sar後就會定期收集系統信息
sa15  sa19
使用參數-n查看網絡接口流量情況
[root@120 ~]# sar -n DEV -f  /var/log/sa/sa04  #查看網絡相關信息

3、查看內存和硬盤
[root@120 ~]#  sar -r -f  /var/log/sa/sa15  
-r 查看內存
[root@120 ~]#  sar -d -f  /var/log/sa/sa15  
-d:硬盤使用報告。 
4、sar最大特點是可以監控所有狀態,sar的其他使用方法如下:
sar -r 1       #查看內存
sar -n ALL    #查看所有
sar -b 1 10    #緩衝區使用情況,每秒刷新一次,查看10次
sar -I ALL 1 10
sar -r -f /tmp/file      -n    -r   -b   -m
sar -s 15:00:00 -e 15:30:00  #查看某個時間段,系統運行情況
sar -s 15:00:00 -e 15:30:20 -f /var/log/sa/sa01
sar -r -s 15:00:00 -e 15:30:20 -f /var/log/sa/sa01

 

以上就是總結的linu調優思路和常用的調優工具。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章