查看服務器各類性能參數

提高linux下tcp服務器併發鏈接數限制
http://blog.chinaunix.net/uid-24907956-id-3428052.htmlphp


1.查看Web服務器(Nginx)的併發請求數及其TCP鏈接狀態:
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'html

返回結果通常以下:
LAST_ACK 5 
SYN_RECV 30
ESTABLISHED 1597 (正常數據傳輸狀態)
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057 (處理完畢,等待超時結束的請求數)linux

其餘參數說明:nginx

tcp狀態:
LISTEN:偵聽來自遠方的TCP端口的鏈接請求
SYN-SENT:再發送鏈接請求後等待匹配的鏈接請求
SYN-RECEIVED:再收到和發送一個鏈接請求後等待對方對鏈接請求的確認
ESTABLISHED:表明一個打開的鏈接
FIN-WAIT-1:等待遠程TCP鏈接中斷請求,或先前的鏈接中斷請求的確認
FIN-WAIT-2:從遠程TCP等待鏈接中斷請求
CLOSE-WAIT:等待從本地用戶發來的鏈接中斷請求
CLOSING:等待遠程TCP對鏈接中斷的確認
LAST-ACK:等待原來的發向遠程TCP的鏈接中斷請求的確認
TIME-WAIT:等待足夠的時間以確保遠程TCP接收到鏈接中斷請求的確認
CLOSED:沒有任何鏈接狀態bash

 

2.查看哪些進程使用了swap分區服務器

for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr | head -10網絡

 上面的命令會列出進程id,而後用ps aux|grep 進程id 查看具體是什麼進程使用了swap分區。併發

 
3.查看目錄下面各個子目錄的佔用空間大小,並按由大到小排序
du -h --max-depth=1 |grep 'G' |sort -rn
 

4.查看Nginx運行進程數
ps -ef | grep nginx | wc -ltcp


5.查看Web服務器進程鏈接數:
netstat -antp | grep 80 | grep ESTABLISHED -cphp-fpm

 

6.經過命令查看服務器上正在運行的php進程
ps aux|grep php-fpm |wc -l


7.查看已經有多少個php進程用來處理tcp請求
netstat -anopt | grep "php-fpm" | grep "ESTABLISHED" | wc -l

當前正在進行tcp網絡數據傳輸的php進程列表

netstat -anopt | grep "php-fpm" | grep "ESTABLISHED"

 

8.netstat命令統計服務器併發鏈接數
netstat -anopt | grep "ESTABLISHED" |wc -l

 

9.查看服務器鏈接列表

netstat -anopt | grep "ESTABLISHED"

netstat -anopt | grep "192.168.0.11:3306" | grep "ESTABLISHED" 查看服務器與其餘服務器的正在進行傳輸數據狀態的鏈接列表

ss -tanp  | grep "ESTAB"

 

10.ss命令統計服務器併發鏈接數
ss -o state established | wc -l

 

11.如何查看當前佔用CPU或內存最多的幾個進程

ps aux | sort -k4nr | head -10

命令行輸入top回車,而後按下大寫M按照memory排序,按下大寫P按照CPU排序。

*命令詳解: 
1. head:-N能夠指定顯示的行數,默認顯示10行。 
2. ps:參數a指代all——全部的進程,u指代userid——執行該進程的用戶id,x指代顯示全部程序,不以終端機來區分。ps -aux的輸出格式以下:

3. sort -k4nr中(k表明從根據哪個關鍵詞排序,後面的數字4表示按照第四列排序;n指代numberic sort,根據其數值排序;r指代reverse,這裏是指反向比較結果,輸出時默認從小到大,反向後從大到小。)。本例中,能夠看到%MEM在第4個位置,根據%MEM的數值進行由大到小的排序。-k3表示按照cpu佔用率排序。

 

12.ss命令列出全部http鏈接中的鏈接
ss -o state established '( dport = :http or sport = :http )'

 

13.ss命令顯示Sockets摘要
ss -s

 

14.如何查看一個php進程的內存佔用狀況:
pmap $(pgrep php-fpm|head -1)


15.ps指令查看內存佔用狀況:
ps -A --sort -rss -o comm,pmem,pcpu|uniq -c |head -15

 

16.分頁查看網絡連接
netstat -anotp | more

netstat -anotp | grep "ESTABLISHED" | more

 

17.倒敘分頁查看某個log文件
tac test.log | more

 

18.查看系統路由表
netstat -r

 

19.批量跟蹤php進程
ps -ef | grep fpm | awk '{print "-p " $2}' | xargs strace

 


20.查看哪一個進程磁盤IO資源佔用較高
iotop -oP
命令的含義:只顯示有I/O行爲的進程

iotop仍是很是好用的,能看到哪些進程使用了swap分區

 

21.linux監控網絡實時帶寬:
先安裝iftop
#yum install iftop

命令:
iftop -i eth0 -n

TX:發送總流量
RX:接收總流量
TOTAL:總流量
Cumm:運行iftop到目前時間的總流量
peak:流量峯值
rates:分別表示過去2S 10S 40S的平均流量

 

2二、查看某個端口被哪一個進程監聽

netstat -anp|grep 9000

 


23.查看服務器網卡帶寬:

ethtool eth0

顯示:
Speed: 1000Mb/s (等於125MB/s)

1B=8bit

bps(bit per second 每秒多少個比特)

 

24.du-查看文件夾大小-並按大小進行排序

 du -sh * | sort -nr

 sudo du -ah --max-depth=1

查看根目錄下大於20M的文件列表

sudo find / -type f -size +20M  -print0 | xargs -0 du -h | sort -nr

 

25.文件夾創建軟連接(用絕對地址)

 

ln -s 源地址(真實存在的實際地址)  目的地址(符號連接-快捷方式)

 

 

26.查看網卡實時流量

sar -n DEV 1 2

sar命令包含在sysstat工具包中,提供系統的衆多統計數據。其在不一樣的系統上命令有些差別,某些系統提供的sar支持基於網絡接口的數據統計,也能夠查看設備上每秒收發包的個數和流量。

sar –n DEV  1 2

命令後面1 2 意思是:每一秒鐘取1次值,取2次。

DEV顯示網絡接口信息

另外,-n參數頗有用,他有6個不一樣的開關:DEV | EDEV | NFS | NFSD | SOCK | ALL ,其表明的含義以下:

  • DEV顯示網絡接口信息。
  • EDEV顯示關於網絡錯誤的統計數據。
  • NFS統計活動的NFS客戶端的信息。
  • NFSD統計NFS服務器的信息
  • SOCK顯示套接字信息
  • ALL顯示全部5個開關
[sre@CDVM-213017031 ~]$ sar -n DEV 1 2 Linux 2.6.32-431.el6.x86_64 (CDVM-213017031) 05/04/2017 _x86_64_ (4 CPU)  08:05:30 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 08:05:31 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:05:31 PM eth0 1788.00 1923.00 930.47 335.60 0.00 0.00 0.00  08:05:31 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 08:05:32 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:05:32 PM eth0 1387.00 1469.00 652.12 256.98 0.00 0.00 0.00  Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: eth0 1587.50 1696.00 791.29 296.29 0.00 0.00 0.00

參數說明:

  • IFACE:LAN接口
  • rxpck/s:每秒鐘接收的數據包
  • txpck/s:每秒鐘發送的數據包
  • rxbyt/s:每秒鐘接收的字節數
  • txbyt/s:每秒鐘發送的字節數
  • rxcmp/s:每秒鐘接收的壓縮數據包
  • txcmp/s:每秒鐘發送的壓縮數據包
  • rxmcst/s:每秒鐘接收的多播數據包
  • rxerr/s:每秒鐘接收的壞數據包
  • txerr/s:每秒鐘發送的壞數據包
  • coll/s:每秒衝突數
  • rxdrop/s:由於緩衝充滿,每秒鐘丟棄的已接收數據包數
  • txdrop/s:由於緩衝充滿,每秒鐘丟棄的已發送數據包數
  • txcarr/s:發送數據包時,每秒載波錯誤數
  • rxfram/s:每秒接收數據包的幀對齊錯誤數
  • rxfifo/s:接收的數據包每秒FIFO過速的錯誤數
  • txfifo/s:發送的數據包每秒FIFO過速的錯誤數
相關文章
相關標籤/搜索