1、監控系統狀態linux
[root@Centos1 ~]# w
10: 36: 52 =>系統當前時間;apache
up 11: 47 => 以運行0天11小時;bash
1 user =>當前有1個用戶登陸;服務器
load average => 負載;多線程
第一個0.00表示1分鐘以內有多少進程使用cpu, 數值大於CPU盒數則負載太高;併發
第二個0.00表示5分鐘以內有多少進程使用cpu, 數值大於CPU盒數則負載太高;ide
第三個0.00表示15分鐘以內有多少進程使用cpu, 數值大於CPU盒數則負載太高;工具
FROM =>登陸IP;測試
[root@Centos1 ~]# vmstat 1 10 #每秒鐘顯示一次, 顯示10次結束;
r =>表示運行和等待CPU時間片的進程數, 若是長時間大於服務器CPU個數, 則說明CPU不夠用了.url
b =>表示等待資源的進程數, 好比等待I/O, 內存等. 這列的值若是長時間小於1,則須要關注下了;
si =>由交換區進入內存的數量;
so =>由內存進入交換區的數量;
bi =>從塊設備讀取數據的量(讀磁盤);
bo =>從塊設備寫入數據的量(寫磁盤);
in =>每秒的中斷次數, 包含時鐘終端;
cs =>每秒的上下文切換次數;
wa =>表示I/O等待所佔用cpu時間百分比;
[root@Centos1 ~]# ab -n 10000 -c 100 'URL'
ab => apache自帶壓力測試工具;
-n => 請求10000次;
-c => 每一次併發100;
[root@Centos1 ~]# top #動態監控進程所佔用系統資源
Tasks =>進程總數
1 running =>運行進程數
74 sleeping =>休眠進程數
0 stopped =>中止進程數
0 zombie =>僵死進程數
按數字'1'顯示CPU盒數;
按shitf+m查看內存使用率;
[root@Centos1 ~]# top -c #顯示完整的COMMAND; [root@Centos1 ~]# top -bn1 #查看完top自動退出; [root@Centos1 ~]# ps -l
[root@Centos1 ~]# ps -aux | head -5 #查看進程
PID =>進程的pid, 這個id頗有用, 在linux中內核管理進程就得靠pid來識別和管理某一個進程,好比我想終止某一個進程,則用kill PID,有時殺不掉, 則使用kill -9 PID.
STAT =>表示進程的狀態, 進程分爲如下幾種
D: 不能中斷的進程(一般爲I/O)
R: 正在運行中的進程
S: 已經中斷的進程, 系統中大部分進程都是這個狀態
T: 已經中止或者暫停的進程
X: 已經死掉的進程
Z: 殭屍進程, 殺不掉,打不死的垃圾進程, 佔系統一小點資源, 不過沒有關係,若是太多就有問題
<: 高優先級進程
N: 低優先級進程
L: 在內存中被鎖了內存分頁
s: 主線程
l: 多線程進程
+: 在前臺的進程
[root@Centos1 ~]# free -m #查看系統內存使用狀況
free以k爲單位顯示, -m以M爲單位, -g以G爲單位
mem(total) =>內存總數
mem(used) =>已經分配的內存
mem(free) =>未分配的內存
mem(buffers) =>系統分配但未被使用的buffers
mem(cached) =>系統分配但未被使用的cache
buffers/cache(user) =>實際使用的buffers與cache總量, 也是實際使用的內存
buffers =>即將要被寫入磁盤的
cache =>是被從磁盤中讀出來的
[root@Centos1 ~]# netstat -an | head -4 #查看端口
[root@Centos1 ~]# yum -y install sysstat #沒有sar則安裝此包; [root@Centos1 ~]# sar -n DEV #查看網卡流量;
[root@Centos1 ~]# sar -q #查看歷史負載; [root@Centos1 ~]# sar -b #查看磁盤讀寫