Linux系統有一些基礎的命令可以很好的用於服務器的監測。
只作簡單介紹,具體用法可通過–help查看或查閱相關資料
網絡:ifconfig,netstat 磁盤:df CPU:w 進程:ps 內存:free I/O:iostat輸入ifconfig,輸出結果為:
eth0: flags=4163mtu 1500 inet 10.144.81.226 netmask 255.255.240.0 broadcast 10.144.95.255 ether 00:16:3e:02:04:ba txqueuelen 1000 (Ethernet) RX packets 69775 bytes 91364566 (87.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26057 bytes 1937311 (1.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 0 (Local Loopback) RX packets 286 bytes 32054 (31.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 286 bytes 32054 (31.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
結果中顯示了服務器的網卡數量、IP地址、MAC地址、MTU的大小、網卡收發包的情況。
ethX(x為0,1,2……),有幾個就有幾張網卡;inet就是IP地址,netmask是子網掩碼,broadcast是廣播地址
netstat是查看網絡相關數據的命令,
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State Timer tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN off (0.$ tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN off (0.$ tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN off (0.$ tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN off (0.$ tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN off (0.$ tcp 0 0 115.28.204.58:58433 42.156.166.25:80 ESTABLISHED off (0.$ tcp 0 52 115.28.204.58:22 59.71.67.114:21489 ESTABLISHED on (0.4$ udp 0 0 115.28.204.58:123 0.0.0.0:* off (0.$ udp 0 0 10.144.81.226:123 0.0.0.0:* off (0.$ udp 0 0 127.0.0.1:123 0.0.0.0:* off (0.$ udp 0 0 0.0.0.0:123 0.0.0.0:* off (0.$ udp6 0 0 :::123 :::*
可以用來查看服務器上所有的網絡層連接狀況。
w命令用於查看服務器的負載情況,輸入w,命令輸出如下:
16:59:52 up 4 days, 18:20, 1 user, load average: 0.09, 0.04, 0.05 USER TTY LOGIN@ IDLE JCPU PCPU WHAT root pts/0 16:51 0.00s 0.06s 0.00s w
結果中包括服務器的運行時間(4 days,18:20),用戶數量,當前用戶及其運行的程序,load average的三個值分別是1分鐘、5分鐘、10分鐘的平均負載。
系統每5s記錄系統中當前正在運行的任務和正在等待磁盤I/O的任務數,每1分鐘、5分鐘、10分鐘計算一次平均值,這個值就是平均負載。
df命令用於查看磁盤的情況,輸入df -h
Filesystem Size Used Avail Use% Mounted on /dev/xvda1 40G 2.1G 36G 6% / devtmpfs 489M 0 489M 0% /dev tmpfs 497M 0 497M 0% /dev/shm tmpfs 497M 19M 478M 4% /run tmpfs 497M 0 497M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/0
可看到磁盤使用情況,掛載盤的目錄等。
free命令用於查看內存狀態
total used free shared buffers cached Mem: 1016656 940168 76488 19384 114052 543612 -/+ buffers/cache: 282504 734152 Swap: 0 0 0
可以看出總內存大小,已使用的內存和剩余內存。
swap是交換分區,可理解為虛擬內存
io即I/O,這個命令是用來輸出I/O相關的數據的,輸入iostat -x
Linux 3.10.0-123.9.3.el7.x86_64 (iZ28yqvmjkrZ) 03/20/2016 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.19 0.00 0.13 0.06 0.16 99.47 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz a$ xvda 0.00 0.17 0.10 0.33 0.94 5.14 28.83 0.01 2$
Device表示的是磁盤設備的數據
這個命令用於查看進程信息,輸入 ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.3 188792 3804 ? Ss Mar15 0:10 /usr/lib/systemd/syste$ root 2 0.0 0.0 0 0 ? S Mar15 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Mar15 0:01 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< Mar15 0:00 [kworker/0:0H] root 7 0.0 0.0 0 0 ? S Mar15 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S Mar15 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? S Mar15 0:00 [rcuob/0] ……
可以輸出進程標識符、CPU、內存等的使用情況。
ps的參數很多,記住幾個常用的,有特殊需求時再查閱資料