Linux系統(tǒng)維護的主要工作就是保證系統(tǒng)和應(yīng)用的穩(wěn)定。而如果想保證穩(wěn)定就必須時刻了解系統(tǒng)的狀態(tài);cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)和各種應(yīng)用程序的運行于占用資源的狀態(tài)等。同時掌握了系統(tǒng)資源的狀態(tài)信息;也可以對系統(tǒng)進行優(yōu)化,以發(fā)揮更好的性能。
對于這些信息的查看;需要一些工具能夠及時的查看和分析;下面就對Linux系統(tǒng)資源監(jiān)控常用的工具進行簡單的介紹: 1、sar(System Activity Recorder) sar可以顯示CPU 使用率、內(nèi)存頁數(shù)據(jù)、網(wǎng)絡(luò) I/O 和傳輸統(tǒng)計、進程創(chuàng)建活動和磁盤設(shè)備的活動詳情 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # yum -y install sysstat 安裝sar
# sar -h
Usage: sar [ options ] [ <interval> [ <count> ] ]
Main options and reports:
- b I / O and transfer rate statistics
- B Paging statistics
- d Block device statistics
- I { < int > | SUM | ALL | XALL }
Interrupts statistics
- m Power management statistics
- n { <keyword> [,...] | ALL }
Network statistics
Keywords are:
DEV Network interfaces
EDEV Network interfaces (errors)
.....
詳細(xì)請查看幫助信息
|
測試: 1 2 3 4 5 6 7 8 9 10 11 12 13 | # sar -b -r -u 1 為了方便;這里一次性顯示三項
Linux 2.6 . 32 - 431.el6 .x86_64 (node2.soul.com) 05 / 25 / 2014 _x86_64_ ( 1 CPU)
#cpu信息
09 : 07 : 24 PM CPU % user % nice % system % iowait % steal % idle
09 : 07 : 25 PM all 0.00 0.00 2.02 0.00 0.00 97.98
#I/O信息
09 : 07 : 24 PM tps rtps wtps bread / s bwrtn / s
09 : 07 : 25 PM 0.00 0.00 0.00 0.00 0.00
#內(nèi)存信息
09 : 07 : 24 PM kbmemfree kbmemused % memused kbbuffers kbcached kbcommit % commit
09 : 07 : 25 PM 764828 247524 24.45 11772 102232 1142588 36.75
#對于這其中每項的含義就不做一一解釋;基本表示的很清楚;大都是詞面意思。
|
sar還記錄每天的cpu信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # sar -f /var/log/sa/sa25 sa25表示本月25號的信息
Linux 2.6 . 32 - 431.el6 .x86_64 (node2.soul.com) 05 / 25 / 2014 _x86_64_ ( 1 CPU)
12 : 00 : 01 AM CPU % user % nice % system % iowait % steal % idle
12 : 10 : 01 AM all 0.02 0.00 0.10 0.08 0.00 99.80
12 : 20 : 01 AM all 0.01 0.00 0.10 0.06 0.00 99.83
....
03 : 20 : 01 PM CPU % user % nice % system % iowait % steal % idle
03 : 30 : 01 PM all 7.38 0.00 0.53 0.31 0.00 91.77
03 : 40 : 02 PM all 23.89 0.00 0.31 0.04 0.00 75.76
03 : 50 : 01 PM all 21.84 0.00 2.37 0.32 0.00 75.46
04 : 00 : 04 PM all 97.14 0.00 2.86 0.00 0.00 0.00
04 : 10 : 01 PM all 47.26 0.00 0.41 0.17 0.00 52.16
04 : 20 : 01 PM all 0.01 0.00 0.09 0.98 0.00 98.92
Average: all 8.23 0.00 0.43 0.24 0.00 91.09
#從上述信息可以看出下午3:20-4:10之前CPU占用率很高
#每個文件最后一行都是統(tǒng)計的平均數(shù)據(jù)。
|
顯示塊設(shè)備的信息
1 2 3 4 5 6 7 8 | # sar -d
Linux 2.6 . 32 - 431.el6 .x86_64 (node2.soul.com) 05 / 25 / 2014 _x86_64_ ( 1 CPU)
12 : 00 : 01 AM DEV tps rd_sec / s wr_sec / s avgrq - sz avgqu - sz await svctm % util
12 : 10 : 01 AM dev11 - 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12 : 10 : 01 AM dev8 - 0 0.20 0.27 2.11 12.07 0.00 5.64 5.19 0.10
12 : 10 : 01 AM dev8 - 16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12 : 10 : 01 AM dev253 - 0 0.00 0.01 0.00 8.00 0.00 8.00 8.00 0.00
|
網(wǎng)絡(luò)相關(guān)的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # sar -n NFS | more
Linux 2.6 . 32 - 431.el6 .x86_64 (node2.soul.com) 05 / 25 / 2014 _x86_64_ ( 1 CPU)
...
08 : 50 : 01 PM 0.02 0.00 0.00 0.00 0.00 0.00
09 : 00 : 01 PM 0.02 0.00 0.00 0.00 0.00 0.00
09 : 10 : 01 PM 0.01 0.02 0.00 0.00 0.00 0.00
09 : 20 : 01 PM 0.00 0.01 0.00 0.00 0.00 0.00
Average: 0.02 0.00 0.00 0.00 0.00 0.00
# sar -n DEV | more
Linux 2.6 . 32 - 431.el6 .x86_64 (node2.soul.com) 05 / 25 / 2014 _x86_64_ ( 1 CPU)
12 : 00 : 01 AM IFACE rxpck / s txpck / s rxkB / s txkB / s rxcmp / s txcmp / s rxmcst / s
12 : 10 : 01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
...
Average: lo 0.92 0.92 1.47 1.47 0.00 0.00 0.00
Average: eth0 627.52 19.67 142.99 2.63 0.00 0.00 0.00
Average: virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: virbr0 - nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00
|
詳細(xì)查閱幫助信息即可。 ------------------------------------------------------------------------------------------- 2、Htop Htop是一個Linux實時監(jiān)控的應(yīng)用程序。它顯示了運行的進程的完整列表和正在運行的任務(wù)??梢灾苯邮髽?biāo)點擊操作??梢陨舷伦笥业睦瓌硬藛尾榭赐暾男畔ⅰ?/p> 系統(tǒng)一般默認(rèn)沒有安裝;需要安裝該工具。 1 2 | # yum -y install htop
# htop
|
可以看到詳細(xì)的CPU和內(nèi)存等信息;下方定義的F1-F10快捷鍵。也可以直接鼠標(biāo)點擊。 按t顯示樹狀視圖 信息顯示和幫助也都很信息;一目了然。直接按"/"可以進行搜索關(guān)鍵字。 ------------------------------------------------------------------------------------------- 3、dstat dstat是一個全能系統(tǒng)信息統(tǒng)計工具。與sysstat相比,dstat擁有一個彩色的界面, 在手動觀察性能狀況時, 數(shù)據(jù)比較顯眼容易觀察;而且dstat支持即時刷新, 譬如輸入dstat 3, 即每三秒收集一次, 但最新的數(shù)據(jù)都會每秒刷新顯示。和sysstat相同的是, dstat也可以收集指定的性能資源, 譬如 dstat -c 即顯示CPU的使用情況。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # dstat -h 查看幫助信息
Usage: dstat [ - afv] [options..] [delay [count]]
Versatile tool for generating system resource statistics
Dstat options:
- c, - - cpu enable cpu stats
- C 0 , 3 ,total include cpu0, cpu3 and total
- d, - - disk enable disk stats
- D total,hda include hda and total
- g, - - page enable page stats
- i, - - int enable interrupt stats
- I 5 ,eth2 include int5 and interrupt used by eth2
- l, - - load enable load stats
- m, - - mem enable memory stats
- n, - - net enable network stats
- N eth1,total include eth1 and total
|
查看cpu信息
1 2 3 4 5 6 7 8 9 | # dstat -c 1 5 顯示cpu狀態(tài);每1秒刷新1次,共5次
- - - - total - cpu - usage - - - -
usr sys idl wai hiq siq
8 0 92 0 0 0
0 0 100 0 0 0
0 0 100 0 0 0
0 1 99 0 0 0
0 0 100 0 0 0
0 0 100 0 0 0
|
同時顯示多個狀態(tài)信息
可以看出每項都有顏色標(biāo)記出來。顯示很清楚。 還支持插件監(jiān)控
1 2 3 4 5 6 7 8 9 10 11 | # dstat --list
internal:
aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int , int24, io, ipc, load, lock, mem, net, page,
page24, proc, raw, socket, swap, swapold, sys, tcp, time, udp, unix, vm
/ usr / share / dstat:
battery, battery - remain, cpufreq, dbus, disk - util, fan, freespace, gpfs, gpfs - ops, helloworld,
innodb - buffer , innodb - io, innodb - ops, lustre, memcache - hits, mysql - io, mysql - keys, mysql5 - cmds,
mysql5 - conn, mysql5 - io, mysql5 - keys, net - packets, nfs3, nfs3 - ops, nfsd3, nfsd3 - ops, ntp, postfix,
power, proc - count, rpc, rpcd, sendmail, snooze, thermal, top - bio, top - cpu, top - cputime,
top - cputime - avg, top - io, top - latency, top - latency - avg, top - mem, top - oom, utmp, vm - memctl, vmk - hba,
vmk - int , vmk - nic, vz - cpu, vz - io, vz - ubc, wifi
|
顯示最占用cpu進程
1 2 3 4 5 6 7 8 9 | # dstat --top-cpu
- most - expensive -
cpu process
mysqld 0.1
mmm_agentd 4.0
sshd: root@pt1. 0
kblockd / 0 1.0
events / 0 1.0
|
占用內(nèi)存最多的進程
1 2 3 4 5 6 7 | # dstat --top-mem
- - most - expensive -
memory process
mysqld 37.0M
mysqld 37.0M
mysqld 37.0M
mysqld 37.0M
|
具體需要慢慢了解。 ------------------------------------------------------------------------------------------- 4、Glances Glances 是一個由 Python 編寫,使用 psutil 庫來從系統(tǒng)抓取信息的基于 curses 開發(fā)的跨平臺命令行系統(tǒng)監(jiān)視工具。 通過 Glances,我們可以監(jiān)視 CPU,平均負(fù)載,內(nèi)存,網(wǎng)絡(luò)流量,磁盤 I/O,其他處理器 和 文件系統(tǒng) 空間的利用情況。 Glances 是一個用來監(jiān)視 GNU/Linux 和 FreeBSD 操作系統(tǒng)的 GPL 授權(quán)的自由軟件。 Glances 同時也提供了很多實用的選項。 其中我們能夠在配置文件見到的一項主要的功能就是設(shè)置關(guān)鍵值及相應(yīng)的標(biāo)簽 (careful[小心], warning[警告] 和 critical[嚴(yán)重]), 然后她會自動幫我們用不同顏色標(biāo)出系統(tǒng)達(dá)到某個瓶頸的信息。 Glances主要功能:
CPU 信息 (用戶的相關(guān)應(yīng)用, 系統(tǒng)核心程序和空閑程序) 總內(nèi)存信息,包括了物理內(nèi)存,交換空間和空閑內(nèi)存等等 之前的 1 分鐘、5 分鐘和 15 分鐘平均的 CPU 負(fù)載 網(wǎng)絡(luò)鏈接的下行和上行速度 處理器總數(shù),以及其活動狀態(tài) 硬盤 I/O 相關(guān)(讀寫)速度詳情 當(dāng)前掛載設(shè)備的磁盤使用情況 高 CPU 和內(nèi)存使用的進程名,和相關(guān)應(yīng)用的位置 在底部顯示當(dāng)前日期和時間 將消耗最高系統(tǒng)資源的進程用紅色標(biāo)出
可以看出顯示cpu/Memroy/network/disk I/O等的相關(guān)信息。
幫助信息。 同時還可以遠(yuǎn)程監(jiān)控: 1 2 3 4 5 6 | 在服務(wù)器端啟動
# glances -s -B 192.168.0.113
Define the password for the Glances server
Password:
Password (confirm):
Glances server is running on 192.168 . 0.113 : 61209
|
客戶端連接:
同時還可以在web頁面監(jiān)控: 1 2 3 | #安裝jinja
# yum -y install python-jinja2
# glances -o HTML -f /var/www/html/ -o:輸出格式;HTML/CSS,-f:指定文件目錄
|
------------------------------------------------------------------------------------------- 5、vmstat
Linux 的 VmStat 命令用于顯示虛擬內(nèi)存、內(nèi)核線程、磁盤、系統(tǒng)進程、I/O 塊、中斷、CPU 活動 等的統(tǒng)計信息。缺省情況下, vmstat 命令在 Linux 系統(tǒng)下不可用,你需要安裝一個包含了 vmstat 程序的 sysstat 軟件包。命令格式的常見用法是: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # vmstat -h
usage: vmstat [ - V] [ - n] [delay [count]]
- V prints version.
- n causes the headers not to be reprinted regularly.
- a print inactive / active page stats.
- d prints disk statistics
- D prints disk table
- p prints disk partition statistics
- s prints vm table
- m prints slabinfo
- t add timestamp to output
- S unit size
delay is the delay between updates in seconds.
unit size k: 1000 K: 1024 m: 1000000 M: 1048576 (default is K)
count is the number of updates.
# vmstat 1 基本的顯示信息
procs - - - - - - - - - - - memory - - - - - - - - - - - - - swap - - - - - - - io - - - - - - system - - - - - - - cpu - - - - -
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 28052 52108 6748 113832 1 7 98 26 73 47 1 2 89 3 4
0 0 28052 52108 6748 113832 0 0 0 0 52 77 0 0 100 0 0
|
各類事件的匯總信息和內(nèi)存統(tǒng)計信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # vmstat -s
411076 total memory
347412 used memory
106796 active memory
173984 inactive memory
63664 free memory
6844 buffer memory
113840 swap cache
2097148 total swap
28052 used swap
2069096 free swap
4564 non - nice user cpu ticks
0 nice user cpu ticks
9378 system cpu ticks
381969 idle cpu ticks
14107 IO - wait cpu ticks
0 IRQ cpu ticks
133 softirq cpu ticks
16588 stolen cpu ticks
400531 pages paged in
107270 pages paged out
1040 pages swapped in
7225 pages swapped out
304418 interrupts
195616 CPU context switches
1401027180 boot time
2575 forks
|
磁盤信息
1 2 3 4 5 6 7 8 9 10 11 12 13 | # vmstat -d
disk - - - - - - - - - - - - - reads - - - - - - - - - - - - - - - - - - - - - - - - writes - - - - - - - - - - - - - - - - IO - - - - - -
total merged sectors ms total merged sectors ms cur sec
ram0 0 0 0 0 0 0 0 0 0 0
....
loop7 0 0 0 0 0 0 0 0 0 0
fd0 0 0 0 0 0 0 0 0 0 0
sr0 65 65 520 4622 0 0 0 0 0 4
sda 23009 597 796190 424432 6065 10460 215324 422197 0 180
dm - 0 3344 0 109290 168642 1295 0 10408 90252 0 76
dm - 1 1362 0 10896 19480 7225 0 57800 431928 0 31
dm - 2 11452 0 230018 174775 2145 0 34744 417037 0 49
dm - 3 6356 0 439162 72389 5903 0 112344 220191 0 52
|
以M顯示;默認(rèn)顯示的是字節(jié) 1 2 3 4 5 6 7 8 | # vmstat -S M 1 5
procs - - - - - - - - - - - memory - - - - - - - - - - - - - swap - - - - - - - io - - - - - - system - - - - - - - cpu - - - - -
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 27 62 6 111 0 0 87 23 67 44 1 2 90 3 4
0 0 27 62 6 111 0 0 0 0 36 53 0 0 100 0 0
0 0 27 62 6 111 0 0 0 0 32 53 0 0 100 0 0
0 0 27 62 6 111 0 0 0 0 59 65 0 0 100 0 0
0 0 27 62 6 111 0 0 0 28 45 62 0 0 100 0 0
|
------------------------------------------------------------------------------------------- 6、lsof
在許多Linux或者類Unix系統(tǒng)里都有l(wèi)sof命令,它常用于以列表的形式顯示所有打開的文件和進程。打開的文件包括磁盤文件、網(wǎng)絡(luò)套接字、管道、設(shè)備和進程。使用這條命令的主要情形之一就是在無法掛載磁盤和顯示正在使用或者打開某個文件的錯誤信息的時候。使用這條命令,你可以很容易地看到正在使用哪個文件。這條命令最常用的格式如下: 1 2 3 4 5 6 7 | # lsof | more
COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME
init 1 root cwd DIR 253 , 0 4096 2 /
init 1 root rtd DIR 253 , 0 4096 2 /
init 1 root txt REG 253 , 0 150352 393260 / sbin / init
init 1 root mem REG 253 , 0 65928 917536 / lib64 / libnss_files - 2.12 .so
init 1 root mem REG 253 , 0 1926800 917921 / lib64 / libc - 2.12 .so
|
lsof選項信息: lsof /path/to/somefile:顯示打開指定文件的所有進程之列表 lsof -c string:顯示其COMMAND列中包含指定字符(string)的進程所有打開的文件;此選項可以重復(fù)使用,以指定多個模式; lsof -p PID:查看該進程打開了哪些文件;進程號前可以使用脫字符“^”取反; lsof -u USERNAME:顯示指定用戶的進程打開的文件;用戶名前可以使用脫字符“^”取反,如“l(fā)sof -u ^root”則用于顯示非root用戶打開的所有文件; lsof -g GID:顯示歸屬gid的進程情況 lsof +d /DIR/:顯示指定目錄下被進程打開的文件 lsof +D /DIR/:基本功能同上,但lsof會對指定目錄進行遞歸查找,注意這個參數(shù)要比grep版本慢: lsof -a:按“與”組合多個條件,如lsof -a -c httpd -u apache lsof -N:列出所有NFS(網(wǎng)絡(luò)文件系統(tǒng))文件 lsof -d FD:顯示指定文件描述符的相關(guān)進程;也可以為描述符指定一個范圍,如0-2表示0,1,2三個文件描述符;另外,-d還支持其它很多特殊值,如: mem: 列出所有內(nèi)存映射文件; mmap:顯示所有內(nèi)存映射設(shè)備; txt:列出所有加載在內(nèi)存中并正在執(zhí)行的進程,包含code和data; cwd:正在訪問當(dāng)前目錄的進程列表; lsof -n:不反解IP至HOSTNAME lsof -i:用以顯示符合條件的進程情況 lsof -i[46] [protocol][@hostname|hostaddr][:service|port] 46:IPv4或IPv6 protocol:TCP or UDP hostname:Internet host name hostaddr:IPv4地址 service:/etc/service中的服務(wù)名稱(可以不只一個) port:端口號 (可以不只一個) |
|
查看22號端口運行信息 1 2 3 4 5 6 7 | # lsof -i TCP:22
COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME
sshd 1474 root 3u IPv4 10212 0t0 TCP * :ssh (LISTEN)
sshd 1474 root 4u IPv6 10214 0t0 TCP * :ssh (LISTEN)
sshd 2411 root 3u IPv4 13421 0t0 TCP node3.soul.com:ssh - > 172.16 . 250.40 : 53791 (ESTABLISHED)
sshd 2503 root 3u IPv4 13630 0t0 TCP node3.soul.com:ssh - > 172.16 . 250.40 : 56215 (ESTABLISHED)
sshd 2536 root 3u IPv4 14680 0t0 TCP node3.soul.com:ssh - > 192.168 . 253.30 : 56727 (ESTABLISHED)
|
列出非root用戶所打開的文件
1 2 3 4 5 6 7 | # lsof -i -u ^root
COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME
rpcbind 1277 rpc 6u IPv4 10751 0t0 UDP * :sunrpc
rpcbind 1277 rpc 7u IPv4 10753 0t0 UDP * :tunnel
rpcbind 1277 rpc 8u IPv4 10754 0t0 TCP * :sunrpc (LISTEN)
rpcbind 1277 rpc 9u IPv6 10756 0t0 UDP * :sunrpc
rpcbind 1277 rpc 10u IPv6 10758 0t0 UDP * :tunnel
|
顯示指定PID
1 2 3 4 5 6 | # lsof -p 1
COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME
init 1 root cwd DIR 253 , 0 4096 2 /
init 1 root rtd DIR 253 , 0 4096 2 /
init 1 root txt REG 253 , 0 150352 393260 / sbin / init
init 1 root mem REG 253 , 0 65928 917536 / lib64 / libnss_files - 2.12 .so
|
kill掉指定用戶的所有進程
1 | # kill -9 `lsof -t -u root`
|
------------------------------------------------------------------------------------------- 7、iostat Iostat是一個用于收集顯示系統(tǒng)存儲設(shè)備輸入和輸出狀態(tài)統(tǒng)計的簡單工具。這個工具常常用來追蹤存儲設(shè)備的性能問題,其中存儲設(shè)備包括設(shè)備、本地磁盤,以及諸如使用NFS等的遠(yuǎn)端磁盤。 1 2 3 4 5 6 7 8 9 10 11 | # iostat
Linux 3.4 . 68 - 9.el6 .centos.alt.x86_64 (node3.soul.com) 05 / 25 / 2014 _x86_64_ ( 2 CPU)
avg - cpu: % user % nice % system % iowait % steal % idle
0.64 0.00 1.37 1.97 2.35 93.67
Device: tps Blk_read / s Blk_wrtn / s Blk_read Blk_wrtn
scd0 0.02 0.14 0.00 520 0
sda 8.28 219.67 62.23 801198 226980
dm - 0 1.29 30.71 2.87 112018 10472
dm - 1 2.36 3.00 15.85 10960 57800
dm - 2 3.78 63.66 9.56 232194 34856
dm - 3 3.75 120.42 33.95 439202 123824
|
簡單幫助信息 1 2 3 4 5 6 7 8 9 10 11 | # iostat --help 詳細(xì)可以使用man查看
Usage: iostat [ options ] [ <interval> [ <count> ] ]
Options are:
[ - c ] [ - d ] [ - N ] [ - n ] [ - h ] [ - k | - m ] [ - t ] [ - V ] [ - x ] [ - y ] [ - z ]
[ - j { ID | LABEL | PATH | UUID | ... } [ <device> [...] | ALL ] ]
[ <device> [...] | ALL ] [ - p [ <device> [,...] | ALL ] ]
# iostat -c 僅顯示cpu
Linux 3.4 . 68 - 9.el6 .centos.alt.x86_64 (node3.soul.com) 05 / 25 / 2014 _x86_64_ ( 2 CPU)
avg - cpu: % user % nice % system % iowait % steal % idle
0.62 0.00 1.33 1.91 2.28 93.85
|
----------------------------------------------------------------------------------------- 8、iftop
iftop是另一個在控制臺運行的開放源代碼系統(tǒng)監(jiān)控應(yīng)用,它顯示了系統(tǒng)上通過網(wǎng)絡(luò)接口的應(yīng)用網(wǎng)絡(luò)帶寬使用(源主機或者目的主機)的列表,這個列表定期更新。iftop用于監(jiān)視網(wǎng)絡(luò)的使用情況,而'top'用于監(jiān)視CPU的使用情況。iftop是'top'工具系列中的一員,它用于監(jiān)視所選接口,并顯示兩個主機間當(dāng)前網(wǎng)絡(luò)帶寬的使用情況。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #安裝軟件
# yum -y install iftop
# iftop
interface: eth0
IP address is : 192.168 . 0.113
MAC address is : 00 : 0c : 29 : 16 : 59 :ffffffc5
12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb
└─────────────────────┴─────────────────────┴──────────node3.soul.com─────┴────────. = > 192.168 . 0.254 .────┴─────────. 4.09Kb 2.05Kb 2.05Kb < = 5.18Kb 2.59Kb 2.59Kb
node3.soul.com = > 172.16 . 250.40 2.55Kb 4.21Kb 4.21Kb
< = 160b 320b 320b
node3.soul.com = > server.magelinux.com 0b 578b 578b
< = 0b 1.03Kb 1.03Kb
172.16 . 255.255 = > 172.16 . 250.40 0b 0b 0b
< = 1.22Kb 702b 702b
...
Press H or ? for help 2.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb
└─────────────────────┴─────────────────────┴──────────node3.soul.com─────┴────────. = > 172.16 . 250.40 .────┴─────────. 2.95Kb 3.96Kb 3.96Kb ── < = 656b 387b 387b
node3.soul.com = > 192.168 . 0.254 0b 1.64Kb 1.64Kb
< = 0b 2.07Kb 2.07Kb
node3.soul.com = > server.magelinux.com 584b 579b 579b
< = 1.05Kb 1.04Kb 1.04Kb
172.16 . 255.255 = > 172.16 . 250.40 0b 0b 0b
< = 1.22Kb 811b 811b
───────────────────────────────────────────────────────TX: cum: 8.02KB peak: 8.68Kb ──────────rates: 3.52Kb 6.17Kb 6.17KbRX : 6.84KB 7.22Kb 4.66Kb 5.44Kb 5.44Kb
|
-----------------------------------------------------------------------------------------
9、tsar
Tsar是淘寶開發(fā)的一個非常好用的系統(tǒng)監(jiān)控工具,在淘寶內(nèi)部大量使用。 它不僅可以監(jiān)控CPU、IO、內(nèi)存、TCP等系統(tǒng)狀態(tài),也可以監(jiān)控Apache,Nginx/Tengine,Squid等服務(wù)器狀態(tài)。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # yum -y install tsar-2.1.0-0.el4.x86_64.rpm
# tsar -h 安裝完成后需要等待一段時間來收集數(shù)據(jù)
Usage: tsar [options]
Options:
- - cron / - c run in cron mode, output data to file
- - interval / - i specify intervals numbers, in minutes if with - - live, it is in seconds
- - list / - L list enabled modules
- - live / - l running print live mode, which module will print
- - ndays / - n show the value for the past days (default: 1 )
- - merge / - m merge multiply item to one
- - help / - h help
Modules Enabled:
- - cpu CPU share (user, system, interrupt, nice, & idle)
- - mem Physical memory share (active, inactive, cached, free, wired)
- - swap swap usage
- - tcp TCP traffic (v4)
- - udp UDP traffic (v4)
- - traffic Net traffic statistics
- - io Linux I / O performance
- - pcsw Process (task) creation and context switch
- - partition Disk and partition usage
- - tcpx TCP connection data
- - load System Run Queue and load average
|
監(jiān)控cpu
1 2 3 4 5 6 7 | # tsar --cpu -l 1
Time - - - - - - - - - - - - - - - - - - - - - - - cpu - - - - - - - - - - - - - - - - - - - - - -
Time user sys wait hirq sirq util
25 / 05 - 23 : 38 0.0 0.3 0.0 0.0 0.0 0.9
25 / 05 - 23 : 38 0.1 0.3 0.0 0.0 0.0 0.6
25 / 05 - 23 : 38 0.0 0.3 0.1 0.0 0.1 0.8
25 / 05 - 23 : 38 0.0 0.3 0.0 0.0 0.0 0.6
|
監(jiān)控內(nèi)存 1 2 3 4 5 6 | # tsar --mem -l 1
Time - - - - - - - - - - - - - - - - - - - - - - - mem - - - - - - - - - - - - - - - - - - - - - -
Time free used buff cach total util
25 / 05 - 23 : 39 64.7M 288.5M 1.9M 46.3M 401.4M 71.9
25 / 05 - 23 : 39 68.1M 285.2M 1.9M 46.3M 401.4M 71.0
25 / 05 - 23 : 39 71.5M 281.7M 1.9M 46.3M 401.4M 70.2
|
--------------------------------------------------------------------------------- 10、ss
ss命令用于顯示socket狀態(tài). 他可以顯示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等統(tǒng)計。 常用命令:
ss -l 顯示本地打開的所有端口 ss -pl 顯示每個進程具體打開的socket ss -t -a 顯示所有tcp socket ss -u -a 顯示所有的UDP Socekt ss -o state established '( dport = :smtp or sport = :smtp )' 顯示所有已建立的SMTP連接 ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接 ss -x src /tmp/.X11-unix/* 找出所有連接X服務(wù)器的進程 ss -s 列出當(dāng)前socket詳細(xì)信息 |
列出當(dāng)前已經(jīng)連接,關(guān)閉,等待的tcp連接: 1 2 3 4 5 6 7 8 9 10 11 | # ss -s
Total: 196 (kernel 244 )
TCP: 46 (estab 2 , closed 28 , orphaned 0 , synrecv 0 , timewait 27 / 0 ), ports 13
Transport Total IP IPv6
* 244 - -
RAW 0 0 0
UDP 8 5 3
TCP 18 11 7
INET 26 16 10
FRAG 0 0 0
|
列出當(dāng)前監(jiān)聽所有tcp/udp進程信息: 1 2 3 4 5 6 | ss - tunlp
Netid State Recv - Q Send - Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 * : 604 * : * users:(( "rpcbind" , 1277 , 7 ))
udp UNCONN 0 0 * : 631 * : * users:(( "cupsd" , 1347 , 9 ))
udp UNCONN 0 0 * : 648 * : * users:(( "rpc.statd" , 1320 , 5 ))
udp UNCONN 0 0 * : 60161 * : *
|
ss列出所有http在連接狀態(tài)的信息: 1 2 3 | # ss -o state established '( dport = :http or sport = :http )'
Recv - Q Send - Q Local Address:Port Peer Address:Port
0 0 ::ffff: 192.168 . 0.113 :http ::ffff: 192.168 . 253.30 : 61742 timer:(keepalive, 120min , 0 )
|
ss列出處在FIN-WAIT-1狀態(tài)的http、https連接: 1 | # ss -o state fin-wait-1 '( sport = :http or sport = :https )'
|
ss常用的state狀態(tài): established syn-sent syn-recv fin-wait-1 fin-wait-2 time-wait closed close-wait last-ack listen closing all : All of the above states connected : All the states except for listen and closed synchronized : All the connected states except for syn-sent bucket : Show states, which are maintained as minisockets, i.e. time-wait and syn-recv. big : Opposite to bucket state. |
------------------------------------------------------------------------------------------- 11、netstat
Netstat是一個用于監(jiān)控進出網(wǎng)絡(luò)的包和網(wǎng)絡(luò)接口統(tǒng)計的命令行工具。它是一個非常有用的工具,系統(tǒng)管理員可以用來監(jiān)控網(wǎng)絡(luò)性能,定位并解決網(wǎng)絡(luò)相關(guān)問題。 列出全部的tcp/udp連接 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # netstat -a | more
Active Internet connections (servers and established)
Proto Recv - Q Send - Q Local Address Foreign Address State
tcp 0 0 * : 41038 * : * LISTEN
tcp 0 0 * :sunrpc * : * LISTEN
tcp 0 0 192.168 . 122.1 :domain * : * LISTEN
tcp 0 0 * :ssh * : * LISTEN
tcp 0 0 localhost:ipp * : * LISTEN
tcp 0 0 node2.soul.com: 61209 * : * LISTEN
tcp 0 0 localhost:smtp * : * LISTEN
tcp 0 0 localhost:x11 - ssh - offset * : * LISTEN
tcp 0 0 localhost: 6011 * : * LISTEN
tcp 0 0 localhost: 6012 * : * LISTEN
tcp 0 0 localhost: 6013 * : * LISTEN
tcp 0 0 * : 36994 * : * LISTEN
tcp 0 0 node2.soul.com: 9989 * : * LISTEN
tcp 0 0 * :mysql * : * LISTEN
tcp 0 0 node2.soul.com:ssh 172.16 . 250.40 : 53987 ESTABLISHED
tcp 292 0 node2.soul.com: 61209 node3.soul.com: 52258 CLOSE_WAIT
....
|
顯示協(xié)議統(tǒng)計信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # netstat -s
Ip:
29462 total packets received
4994 with invalid addresses
0 forwarded
0 incoming packets discarded
24468 incoming packets delivered
21227 requests sent out
Icmp:
805 ICMP messages received
6 input ICMP message failed.
ICMP input histogram:
destination unreachable: 804
redirects: 1
804 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 804
IcmpMsg:
InType3: 804
InType5: 1
OutType3: 804
|
幫助信息
1 2 3 4 5 6 7 8 9 10 11 | # netstat -h
usage: netstat [ - veenNcCF] [<Af>] - r netstat { - V| - - version| - h| - - help }
netstat [ - vnNcaeol] [<Socket> ...]
netstat { [ - veenNac] - I[<Iface>] | [ - veenNac] - i | [ - cnNe] - M | - s } [delay]
- r, - - route display routing table
- I, - - interfaces = <Iface> display interface table for <Iface>
- i, - - interfaces display interface table
- g, - - groups display multicast group memberships
- s, - - statistics display networking statistics (like SNMP)
- M, - - masquerade display masqueraded connections
|
工具還有很多;且每個工具的選項都有很多;具體使用方法需要在平時多加使用才能熟練掌握;在此就不一一介紹了。
如有錯誤;懇請糾正。 本文出自 “Soul” 博客,請務(wù)必保留此出處http://chenpipi.blog.51cto.com/8563610/1417004
|