linux下var/log/sa/文件作用
/var/log/sa/目錄下包含每日由sysstat軟件包收集的sar文件
這些文件可以用來分析網卡的流量走向,會保存7天內的流量走向,超過7天會自動刪除
我們可以使用 sar 查看歷史負載
//查看指定文件CPU使用記錄
#sar -f /var/log/sa/sa03
//查看指定文件1/5/15分鍾平均負載記錄
#sar -q -f /var/log/sa/sa03
//查看指定文件7點到9點CPU使用記錄,如要看負載加參數-q
#sar -s 07:00:00 -e 10:00:00 -f /var/log/sa/sa03
安裝sysstat工具包后會自動每10分鍾采集一次腳本在/etc/cron.d/sysstat默認只保留7天的文件要保留更長時間要修改配置文件有人覺得是修改/etc/sysconfig/sysstat這個文件,其實不是的應該是/usr/lib/sa/sa2(64位/usr/lib64/sa/sa2),來看看里面的代碼HISTORY=7[ -r /etc/sysconfig/sysstat ] && . /etc/sysconfig/sysstat[ ${HISTORY} -gt 28 ] && HISTORY=28#就是這個了,如果sysstat文件設置了歷史天數超過28天就不會生效的超過28天就要修改這個地方了。
不要小看這個命令,它能夠讓你對系統運行情況了如指掌。
細化補充:
-A:所有報告的總和
-u:輸出CPU使用情況的統計信息
-v:輸出inode、文件和其他內核表的統計信息
-d:輸出每一個塊設備的活動信息
-r:輸出內存和交換空間的統計信息
-b:顯示I/O和傳送速率的統計信息
-a:文件讀寫情況
-c:輸出進程統計信息,每秒創建的進程數
-R:輸出內存頁面的統計信息
-y:終端設備活動情況
-w:輸出系統交換活動信息
內存分頁監控:
sar -r -f /var/log/sa29 //查看歷史內存
kbmemfree:這個值和free命令中的free值基本一致,所以它不包括buffer和cache的空間.
kbmemused:這個值和free命令中的used值基本一致,所以它包括buffer和cache的空間.
%memused:這個值是kbmemused和內存總量(不包括swap)的一個百分比.
kbbuffers和kbcached:這兩個值就是free命令中的buffer和cache.
kbcommit:保證當前系統所需要的內存,即為了確保不溢出而需要的內存(RAM+swap).
%commit:這個值是kbcommit與內存總量(包括swap)的一個百分比.
內存分頁監控
例如,每10秒采樣一次,連續采樣3次,監控內存分頁:
sar -B 10 3
輸出項說明:
pgpgin/s:表示每秒從磁盤或SWAP置換到內存的字節數(KB)
pgpgout/s:表示每秒從內存置換到磁盤或SWAP的字節數(KB)
fault/s:每秒鍾系統產生的缺頁數,即主缺頁與次缺頁之和(major + minor)
majflt/s:每秒鍾產生的主缺頁數.
pgfree/s:每秒被放入空閑隊列中的頁個數
pgscank/s:每秒被kswapd掃描的頁個數
pgscand/s:每秒直接被掃描的頁個數
pgsteal/s:每秒鍾從cache中被清除來滿足內存需要的頁個數
%vmeff:每秒清除的頁(pgsteal)占總掃描頁(pgscank+pgscand)的百分比
I/O和傳送速率監控
每10秒采樣一次,連續采樣3次,報告緩沖區的使用情況,需鍵入如下命令:
sar -b 10 3
屏幕顯示如下:
18:51:05 tps rtps wtps bread/s bwrtn/s
18:51:15 0.00 0.00 0.00 0.00 0.00
18:51:25 1.92 0.00 1.92 0.00 22.65
18:51:35 0.00 0.00 0.00 0.00 0.00
Average: 0.64 0.00 0.64 0.00 7.59
輸出項說明:
tps:每秒鍾物理設備的 I/O 傳輸總量
rtps:每秒鍾從物理設備讀入的數據總量
wtps:每秒鍾向物理設備寫入的數據總量
bread/s:每秒鍾從物理設備讀入的數據量,單位為 塊/s
bwrtn/s:每秒鍾向物理設備寫入的數據量,單位為 塊/s
6. 進程隊列長度和平均負載狀態監控
例如,每10秒采樣一次,連續采樣3次,監控進程隊列長度和平均負載狀態:
sar -q 10 3
屏幕顯示如下:
19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
19:26:00 0 259 0.00 0.00 0.00
19:26:10 0 259 0.00 0.00 0.00
19:26:20 0 259 0.00 0.00 0.00
Average: 0 259 0.00 0.00 0.00
輸出項說明:
runq-sz:運行隊列的長度(等待運行的進程數)
plist-sz:進程列表中進程(processes)和線程(threads)的數量
ldavg-1:最后1分鍾的系統平均負載(System load average)
ldavg-5:過去5分鍾的系統平均負載
ldavg-15:過去15分鍾的系統平均負載
7. 系統交換活動信息監控
例如,每10秒采樣一次,連續采樣3次,監控系統交換活動信息:
sar - W 10 3
屏幕顯示如下:
19:39:50 pswpin/s pswpout/s
19:40:00 0.00 0.00
19:40:10 0.00 0.00
19:40:20 0.00 0.00
Average: 0.00 0.00
輸出項說明:
pswpin/s:每秒系統換入的交換頁面(swap page)數量
pswpout/s:每秒系統換出的交換頁面(swap page)數量
8. 設備使用情況監控
例如,每10秒采樣一次,連續采樣3次,報告設備使用情況,需鍵入如下命令:
# sar -d 10 3 –p
屏幕顯示如下:
17:45:54 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
17:46:04 scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
17:46:04 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
17:46:04 vg_livedvd-lv_root 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
17:46:04 vg_livedvd-lv_swap 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
其中:
參數-p可以打印出sda,hdc等磁盤設備名稱,如果不用參數-p,設備節點則有可能是dev8-0,dev22-0
tps:每秒從物理磁盤I/O的次數.多個邏輯請求會被合並為一個I/O磁盤請求,一次傳輸的大小是不確定的.
rd_sec/s:每秒讀扇區的次數.
wr_sec/s:每秒寫扇區的次數.
avgrq-sz:平均每次設備I/O操作的數據大小(扇區).
avgqu-sz:磁盤請求隊列的平均長度.
await:從請求磁盤操作到系統完成處理,每次請求的平均消耗時間,包括請求隊列等待時間,單位是毫秒(1秒=1000毫秒).
svctm:系統處理每次請求的平均時間,不包括在請求隊列中消耗的時間.
%util:I/O請求占CPU的百分比,比率越大,說明越飽和.
1. avgqu-sz 的值較低時,設備的利用率較高。
2. 當%util的值接近 1% 時,表示設備帶寬已經占滿。
inode、文件和其他內核表監控
例如,每10秒采樣一次,連續采樣3次,觀察核心表的狀態,需鍵入如下命令:
sar -v 10 3
屏幕顯示如下:
17:10:49 dentunusd file-nr inode-nr pty-nr
17:10:59 6301 5664 12037 4
17:11:09 6301 5664 12037 4
17:11:19 6301 5664 12037 4
Average: 6301 5664 12037 4
輸出項說明:
dentunusd:目錄高速緩存中未被使用的條目數量
file-nr:文件句柄(file handle)的使用數量
inode-nr:索引節點句柄(inode handle)的使用數量
pty-nr:使用的pty數量
查看頁面交換發生狀況
sar -W
頁面發生交換時,服務器的吞吐量會大幅下降;服務器狀況不良時,如果懷疑因為內存不足而導致了頁面交換的發生,可以使用這個命令來確認是否發生了大量的交換;
pswpin/s:每秒系統換入的交換頁面(swap page)數量
pswpout/s:每秒系統換出的交換頁面(swap page)數量