Linux伺服器效能追蹤以及伺服器監控常用命令
在網站效能最佳化中,我們經常要檢查伺服器的各種指標,以便快速找到害群之馬。大多情況下,我們會使用cacti、nagois或者zabbix之類的監控軟體,但是這類軟體安裝起來比較麻煩,在一個小型伺服器,我們想盡快找到問題所在,還是要使用Linux提供的一些命令。
1. 記憶體檢查:free -m
注意,重點看的是第二行,-/+ buffers/cache行,第一個數字是實際消耗的記憶體,第二個是實際空閒的記憶體。
2. 系統程式監控 top
Top命令注意看輸出的第二、第三行。第二行(Tasks)表示系統執行的程式數,這個數值一般不能太大,比如超過300、甚至400-500,這個比較容易理解,我們一般開啟的服務、程式外加系統程式都不會太多,太多肯定有問題。第三行表示CPU的使用情況。
Top可以按 M按記憶體使用排序,P按CPU使用情況排序。
3. 程式監控加強版 htop
htop提供了比top更強大的功能,推薦安裝。能排序、查詢、顯示程式樹等功能。
htop還有一個強大的功能的,就是strace,按s可以直接對選中程式進行strace。
strace效果圖如下:
4. 找出害群之馬 (ps命令)
如果透過top、htop、free以及iostat、vmstat(後面會講)對系統分析後,我們接下來就要找系統的問題程式了。在top、htop中我們一般可以直觀的看出到底是那個程式出問題了,不過有時這兩個命令不能完全確定,我們還要使用ps確認系統中的最差程式。
自定義輸出格式 -o 可以定義我們想要顯示的列,列名基本和輸出的表頭一樣,只是要小寫,如下:
ps -A -o %mem, %cpu
找到例項執行過多的程式(伺服器監測特別有用)
可以看到httpd程式比較多,(uniq可能是隻要各行的,不再計重複行,重新數),因此我們可以再加個sort (k表示按那一列排序),如下:
這樣httpd程式可以看到18個,有助於我們找到異常的伺服器行為。如果要區分使用者,可以加一個output,如:
ps -A -o user,comm |sort -k2| uniq -c |sort -k1 -rn |
找到記憶體使用最多的程式
ps -eo rss,pmem,pcpu,vsize,args | sort -k 1 -r -n |
同理,找到CPU消耗最多的程式
ps -eo rss,pmem,pcpu,vsize,args | sort -k 2 -r -n |
(其實主要的是理解sort -k和ps -o就可以)
4. IO監控iostat
iostat也是系統監控常用的命令,可以看到各個磁碟的IO情況,其他引數不再贅述,主要說明一個引數。iostat -x會輸出 %util列。
定義:
%util: 一秒中有百分之多少的時間用於 I/O 操作,或者說一秒中有多少時間 I/O 佇列是非空的。即 delta(use)/s/1000 (因為use的單位為毫秒)
如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟可能存在瓶頸。
一般情況下,%util應該越小越好,10%以下正常,30%IO比較繁忙。50%以上一般是有問題的。可以配合%idle,該值過小系統肯定是有問題的。
5. vmstat 系統監控
vmstat和IO差不過,不過重點是監控cpu、記憶體等系統資源。
對記憶體監控,我們比較關心swpd、free、si、so。一般系統不繁忙的狀態下,我們看到swpd,so的值不會持續很高,經常為0。如果swpd過高,那麼就是系統記憶體經常不夠用。
對CPU監控,我們可以檢視r(執行程式數)、us、sy、id(空閒CPU),如果r的數字大於系統CPU個數,則面臨CPU不夠用的危險,透過id(CPU空閒比例)分析,如果過小,則可以判斷是CPU不足。
其他引數不再贅述。
6. 網路流量監控 iftop
最後我們談一下網路流量的監控,網路流量對於系統來說也是很重要的。請安裝iftop來監控網路瀏覽資源。由於介面縮放比較困難,從網上找了一張圖參考:
中間的這兩個左右箭頭,表示的是流量的方向。
TX:傳送流量
RX:接收流量
TOTAL:總流量
Cumm:執行iftop到目前時間的總流量
peak:流量峰值
rates:分別表示過去 2s 10s 40s 的平均流量
其中有幾個命令比較有用,按t切換顯示格式為2行/1行/只顯示傳送流量/只顯示接收流量;按T切換是否顯示每個連線的總流量;按p切換是否顯示埠資訊。其他的命令可以按h進入幫助檢視。
Linux的基本監控到此為止,其他的相關方面我們後續再討論。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957453/viewspace-2772099/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 伺服器監控Linux伺服器
- Linux伺服器---流量監控ntopLinux伺服器
- Linux伺服器---流量監控webalizerLinux伺服器Web
- Linux伺服器---流量監控MRTGLinux伺服器
- 使用CloudStats監控Linux伺服器CloudLinux伺服器
- linux 效能監控分析以及調優(top)Linux
- Oracle效能監控常用命令Oracle
- 常用的4個伺服器效能監控命令伺服器
- 伺服器效能監控神器nmon使用介紹伺服器
- 恆訊科技分析:如何監控伺服器效能?伺服器
- 運維文件 - 伺服器效能監控系統運維伺服器
- Linux伺服器---流量監控bandwidthdLinux伺服器
- prometheus-新增監控linux伺服器PrometheusLinux伺服器
- 4個Linux伺服器監控工具Linux伺服器
- 伺服器監控之 ping 監控伺服器
- 乾貨:如何監控伺服器效能實踐篇伺服器
- JavaMelody JAVA Web專案伺服器效能監控工具JavaWeb伺服器
- 效能測試-基於 Python 的 Linux 伺服器資源監控PythonLinux伺服器
- 怎麼監控 Linux 伺服器狀態?Linux伺服器
- 利用Loadrunner來監控Linux伺服器Linux伺服器
- 使用 SNMP 和 Cacti 監控 Linux 伺服器Linux伺服器
- 使用SNMP來監控Linux伺服器(zt)Linux伺服器
- Spring cloud 整合 SkyWalking 實現效能監控、鏈路追蹤、日誌收集SpringCloud
- JVM學習筆記---伺服器,JVM效能監控工具JVM筆記伺服器
- 效能測試之伺服器監控和Prometheus推薦伺服器Prometheus
- Jmeter效能測試 —— jmeter之使用ServerAgent監控伺服器JMeterServer伺服器
- 運維文件 - 伺服器效能監控與最佳化運維伺服器
- cacti監控windows伺服器Windows伺服器
- nagios監控例項 -- Windows伺服器監控iOSWindows伺服器
- 監控 Linux 伺服器活動的幾個命令Linux伺服器
- 追蹤將伺服器CPU耗光的兇手伺服器
- 《伺服器的追蹤與審計》RHEL6伺服器
- linux效能監控命令Linux
- Linux 效能監控工具Linux
- Zynga 開源其伺服器效能監控分析工具 zPerfmon伺服器
- 服務監控之分散式追蹤一篇讀懂分散式
- SkyWalking —— 分散式應用監控與鏈路追蹤分散式
- prometheus-監控docker伺服器PrometheusDocker伺服器