top相似於windows下面的資源管理器。不只可以從服務器總體上展現服務器的大體狀況,還能夠看到具體進程 耗費資源的狀況。 展現內存、cpu、交換分區等信息
如上圖:
下面的一堆就是各個進程的監控了。截圖中沒有給出。html
能夠看出,top命令是一個強大生猛的服務器監控利器。它比較全面,能夠在排查初期使用top命令迅速縮小
查找範圍。但對一些內存的展現單位比較小,看起來不舒服,因此我的更傾向使用下面單個獨立的命令。linux
應該是本人幾年前第一個接觸到服務器監控命令,很簡單也很直觀。ios
着重說下load average,這個三個負載數分別是過去的1/5/15分鐘內的平均負載數。windows
下面就說下這個負載數具體表明什麼意義了? 這個負載主要指的是處於 runnable 或者 uninterruptable服務器
狀態下的進程數。runnable 狀態就是進展正在或者等待使用cpu資源,而uninterruptable(不間斷)狀態.net
就是進程正在請求一些IO,如等待請求磁盤。code
從負載的定義能夠看出,負載的高低對於不一樣機器並非絕對的,若是負載是1,那麼對於單核的機器來講htm
說明,機器一直在處理進程,但在一個四核的機器上,說明4/3的cpu資源都在處於空閒狀態。blog
所以,對於4核機器來講,只有當負載長時間遠大於4的時候,咱們認爲機器資源存在短板。進程
多是cpu或者磁盤等。所以,能夠看出uptime是個粗範圍的衡量。
當服務器卡頓的時候,第一反應使用uptime來確認服務器的負載是否太高。
另外,切記 uptime 的前提是要清楚機器的核數。
當使用uptime確認負載太高後,可使用free命名來確認內存是否正常。free -m命令是以MB爲單位來顯示
的。
實際上,做爲一個命令使用起來是簡單的,前提是要理解linux下的機制,你看起來就行1+1=2那麼簡單,
不然你看到的就是一堆%@¥¥&%¥@火星文。因此,free命名是用來監控內存的,所以前提要了解
Linux下的內存機制,這裏限於篇幅與主題不進行深刻討論。
這裏須要注意的是,看還有多少內存可使用並非看第一行的free,而是看第二行的free。因此對於
這臺機器實際上還有6381M可使用。
到底何時內存是不足呢?通常交換分區的使用是一個重要的信號,但這並非說,交換分區一旦被使用
了就是內存不足了,而是經過觀察發現,內存被幾乎用光,並且長時間使用交換空間,外加服務器運行遲緩
這個時候基本能夠判斷是內存不足了。關於交換分區的討論可能又是一個比較深刻的話題,這裏再也不展開。
iostat 命名能夠監控IO 設備的運行情況。
如: iostat -dxh 3 5
其中 -d 表示展現磁盤信息 x 顯示一些擴展信息 h 統一以kb爲單位展現
【參考&&擴展閱讀】
進程狀態說明:
https://blog.csdn.net/tianlesoftware/article/details/6457487
https://www.cnblogs.com/chenpingzhao/p/5161844.html