Linux系统检测工具 三(Free,Top,ps,Vmstat,Sysstat)
dstat工具,可以做更多的信息采集
?? 安裝
?? [root@hky-linux1 Server]# rpm -ivh dstat-0.6.6-3.el5_4.1.noarch.rpm
warning: dstat-0.6.6-3.el5_4.1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...??????????????? ########################################### [100%]
?? 1:dstat????????????????? ########################################### [100%]
?? 執行 dstat 命令,默認情況它會收集-cpu-、-disk-、-net-、-paging-、-system-的數據,一秒鐘收集一次
? 語法結構:dstat [-afv] [options..] [delay [count]]
?
Dstat? -c 檢測cpu的情況
[root@hky-linux1 ~]# dstat -c
----total-cpu-usage----
usr sys idl wai hiq siq
? 2?? 4? 90?? 4?? 0?? 0
? 0?? 0 100?? 0?? 0?? 0
? 0?? 0 100?? 0?? 0?? 0
Dstat? -d 檢測硬盤讀寫情況
[root@hky-linux1 ~]# dstat -d
-dsk/total-
?read? writ
?212k?? 47k
?? 0???? 0
?? 0???? 0
0?????????? 184k
Dstat? -m檢測內存使用情況
[root@hky-linux1 ~]# dstat -m
------memory-usage-----
?used? buff? cach? free
? 69M?? 30M? 120M?? 50M
? 69M?? 30M? 120M?? 50M
? 69M?? 30M? 120M?? 50M
? 69M?? 30M? 120M?? 50M
Dstat? -n 檢測網絡使用狀況
[root@hky-linux1 ~]# dstat -n
-net/total-
?recv? send
?? 0???? 0
? 60B? 138B
? 60B? 154B
[root@hky-linux1 ~]# dstat -N eth0,total
Terminal width too small, trimming output.
----total-cpu-usage---- -dsk/total- --net/eth0---net/total- ---paging-->
usr sys idl wai hiq siq| read? writ| recv? send: recv? send|? in?? out >
? 1?? 2? 93?? 3?? 0?? 0| 140k?? 36k|?? 0???? 0 :?? 0???? 0 |?? 0???? 0 >
? 0?? 0 100?? 0 ??0?? 0|?? 0???? 0 |? 60B? 314B:? 60B? 314B|?? 0???? 0 >
? 0?? 0? 99?? 0?? 0?? 1|?? 0???? 0 |? 60B? 314B:? 60B? 314B|?? 0???? 0 >
[root@hky-linux1 ~]#? dstat -dnyc -N eth0 -C total -f 5
Terminal width too small, trimming output.
--dsk/hda-----dsk/sda-----dsk/sdb-----dsk/sdc-- --net/eth0- ---system-->
?read? writ: read? writ: read? writ: read? writ| recv? send| int?? csw >
?537B??? 0 : 116k?? 32k:1252B??? 0 :1354B??? 0 |?? 0???? 0 |1017?? 112 >
?? 0???? 0 :?? 0???? 0 :?? 0???? 0 :?? 0???? 0 |? 60B? 314B|1005??? 79 >
[root@hky-linux1 ~]#? dstat -M time,cpu,net,disk,sys,load,proc,app
Terminal width too small, trimming output.
-----time----- ----total-cpu-usage---- -net/total- -dsk/total- ---system-->
? date/time?? |usr sys idl wai hiq siq| recv? send| read? writ| int?? csw >
04-07 01:03:00|? 1?? 2? 94?? 2?? 0?? 0|?? 0???? 0 | 113k?? 31k|1016?? 111 >
04-07 01:03:01|? 0?? 3? 96?? 1?? 0?? 0|? 60B? 420B|?? 0???? 0 |1008??? 94 >
04-07 01:03:02|? 1?? 1? 96?? 2?? 0?? 0|? 60B? 420B|?? 0?? 380k|1036??? 82 >
………………………..
[root@hky-linux1 ~]# man dstat
?
Iptraf的使用:流量監控工具
安裝
Yum –y install iptraf
?
[root@hky-linux1 ~]# iptraf -d eth0? //檢測eth0 in和out的數據包
?
?
掌握tcpdump的使用
[root@hky-linux1 ~]# tcpdump -nn -vv dst net 192.168.1.0/24 and not port 22
[root@hky-linux1 ~]# tcpdump? -nn -vv -i eth0 icmp
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
01:37:31.691978 IP (tos 0x0, ttl 128, id 10925, offset 0, flags [none], proto: ICMP (1), length: 60) 192.168.1.101 > 192.168.1.6: ICMP echo request, id 1, seq 5338, length 40
01:37:31.692256 IP (tos 0x0, ttl? 64, id 34721, offset 0, flags [none], proto: ICMP (1), length: 60) 192.168.1.6 > 192.168.1.101: ICMP echo reply, id 1, seq 5338, length 40
Strace工具:跟蹤程式執行時的系統調用和所接收的信號
[root@hky-linux1 ~]# man strace
STRACE(1)??????????????????????????????????????????????????????????? STRACE(1)
NAME
?????? strace - trace system calls and signals
SYNOPSIS
?????? strace? [? -dffhiqrtttTvxx? ] [ -acolumn ] [ -eexpr ] ...? [ -ofile ] [
?????? -ppid ] ...? [ -sstrsize ] [ -uusername ] [ -Evar=val ] ...? [ -Evar? ]
?????? ...? [ command [ arg ...? ] ]
?
????? strace? -c? [ -eexpr ] ...? [ -Ooverhead ] [ -Ssortby ] [ command [ arg
?????? ...? ] ]
參數:
-c 統計每一系統調用的所執行的時間,次數和出錯的次數等
[root@hky-linux1 ~]# strace -c pwd
/root
% time???? seconds? usecs/call???? calls??? errors syscall
------ ----------- ----------- --------- --------- ----------------
?66.08??? 0.000596???????? 596???????? 1?????????? execve
?14.86??? 0.000134????????? 17???????? 8?????????? mmap2
? 6.76??? 0.000061????????? 20???????? 3?????????? brk
? 6.76??? 0.000061????????? 31???????? 2?????????? fcntl64
? 5.54??? 0.000050????????? 25???????? 2?????????? munmap
? 0.00??? 0.000000?????????? 0???????? 1?????????? read
? 0.00??? 0.000000?????????? 0???????? 1?????????? write
? 0.00??? 0.000000?????????? 0???????? 3?????????? open
? 0.00??? 0.000000?????????? 0???????? 5?????????? close
? 0.00??? 0.000000?????????? 0???????? 1???????? 1 access
? 0.00??? 0.000000?????????? 0???????? 2?????????? mprotect
? 0.00??? 0.000000?????? ????0???????? 2?????????? lstat64
? 0.00??? 0.000000?????????? 0???????? 6?????????? fstat64
? 0.00??? 0.000000?????????? 0???????? 1?????????? getdents64
? 0.00??? 0.000000?????????? 0???????? 1?????????? set_thread_area
? 0.00??? 0.000000?????????? 0??? ?????1?????????? openat
? 0.00??? 0.000000?????????? 0???????? 1?????????? fstatat64
------ ----------- ----------- --------- --------- ----------------
100.00??? 0.000902??????????????????? 41???????? 1 total
-d 輸出strace關于標準錯誤的調試信息
-f 跟蹤由fork調用所產生的子進程
-ff 如果提供-o filename,則所有進程的跟蹤結果輸出到相應的filename.pid中,pid是各進程的進程號
-F 嘗試跟蹤vfork調用.在-f時,vfork不被跟蹤
-h 輸出簡要的幫助信息
-i 輸出系統調用的入口指針
-q 禁止輸出關于脫離的消息
-r 打印出相對時間關于,,每一個系統調用
-t 在輸出中的每一行前加上時間信息
-tt 在輸出中的每一行前加上時間信息,微秒級
-ttt 微秒級輸出,以秒了表示時間
-T 顯示每一調用所耗的時
-v 輸出所有的系統調用.一些調用關于環境變量,狀態,輸入輸出等調用由于使用頻繁,默認不輸出
-V 輸出strace的版本信息
-x 以十六進制形式輸出非標準字符串
-xx 所有字符串以十六進制形式輸出
-a column
?
?
五 制造系統壓力
[root@hky-linux1 ~]#? S=1000; echo "scale=${S}; 4*a(1)" | bc -l -q
Vmstat的一個腳本
[root@hky-linux1 ~]# vmstat 1 2 | grep -v sw | awk '{print $0; for (i=1;i<=NF;i++){r[i]+=$i}}END {for(i=1;i<=NF;i++){printf"%d",r[i]/NR;printf("\n")}}'
?
轉載于:https://blog.51cto.com/hky008/464668
總結
以上是生活随笔為你收集整理的Linux系统检测工具 三(Free,Top,ps,Vmstat,Sysstat)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络工程学习提纲
- 下一篇: “《面对面---做好每一天》--中国短道