一、uptime命令
這個命令可以快速查看機器的負載情況。在Linux系統中,這些數據表示等待CPU資源的進程和阻塞在不可中斷IO進程(進程狀態為D)的數量。這些數據可以讓我們對系統資源使用有一個宏觀的了解。
命令的輸出分別表示1分鍾、5分鍾、15分鍾的平均負載情況。通過這三個數據,可以了解伺服器負載是在趨於緊張還是趨於緩解。如果1分鍾平均負載很高,而15分鍾平均負載很低,說明伺服器正在命令高負載情況,需要進一步排查CPU資源都消耗在了哪裡。反之,如果15分鍾平均負載很高,1分鍾平均負載較低,則有可能是CPU資源緊張時刻已經過去。
上面例子中的輸出,可以看見最近1分鍾的平均負載非常高,且遠高於最近15分鍾負載,因此我們需要繼續排查當前系統中有什麼進程消耗了大量的資源。可以通過下文將會介紹的vmstat、mpstat等命令進一步排查。
二、dmesg命令
該命令會輸出系統日誌的最後10行。示例中的輸出,可以看見一次內核的oom kill和一次TCP丟包。這些日誌可以幫助排查性能問題。千萬不要忘了這一步。
三、vmstat命令
vmstat(8) 命令,每行會輸出一些系統核心指標,這些指標可以讓我們更詳細的了解系統狀態。後面跟的參數1,表示每秒輸出一次統計信息,表頭提示了每一列的含義,這幾介紹一些和性能調優相關的列:
r:等待在CPU資源的進程數。這個數據比平均負載更加能夠體現CPU負載情況,數據中不包含等待IO的進程。如果這個數值大於機器CPU核數,那麼機器的CPU資源已經飽和。
free:系統可用內存數(以千位元組為單位),如果剩餘內存不足,也會導致系統性能問題。下文介紹到的free命令,可以更詳細的了解系統內存的使用情況。
si,so:交換區寫入和讀取的數量。如果這個數據不為0,說明系統已經在使用交換區(swap),機器物理內存已經不足。
us, sy, id, wa, st:這些都代表了CPU時間的消耗,它們分別表示用戶時間(user)、系統(內核)時間(sys)、空閑時間(idle)、IO等待時間(wait)和被偷走的時間(stolen,一般被其他虛擬機消耗)。
上述這些CPU時間,可以讓我們很快了解CPU是否出於繁忙狀態。一般情況下,如果用戶時間和系統時間相加非常大,CPU出於忙於執行指令。如果IO等待時間很長,那麼系統的瓶頸可能在磁碟IO。
示例命令的輸出可以看見,大量CPU時間消耗在用戶態,也就是用戶應用程序消耗了CPU時間。這不一定是性能問題,需要結合r隊列,一起分析。
四、mpstat命令
該命令可以顯示每個CPU的佔用情況,如果有一個CPU佔用率特別高,那麼有可能是一個單線程應用程序引起的。
五、pidstat命令
pidstat命令輸出進程的CPU佔用率,該命令會持續輸出,並且不會覆蓋之前的數據,可以方便觀察系統動態。如上的輸出,可以看見兩個JAVA進程佔用了將近1600%的CPU時間,既消耗了大約16個CPU核心的運算資源。
六、iostat命令
r/s, w/s, rkB/s, wkB/s:分別表示每秒讀寫次數和每秒讀寫數據量(千位元組)。讀寫量過大,可能會引起性能問題。
await:IO操作的平均等待時間,單位是毫秒。這是應用程序在和磁碟交互時,需要消耗的時間,包括IO等待和實際操作的耗時。如果這個數值過大,可能是硬體設備遇到了瓶頸或者出現故障。
avgqu-sz:向設備發出的請求平均數量。如果這個數值大於1,可能是硬體設備已經飽和(部分前端硬體設備支持並行寫入)。
%util:設備利用率。這個數值表示設備的繁忙程度,經驗值是如果超過60,可能會影響IO性能(可以參照IO操作平均等待時間)。如果到達100%,說明硬體設備已經飽和。
如果顯示的是邏輯設備的數據,那麼設備利用率不代表後端實際的硬體設備已經飽和。值得注意的是,即使IO性能不理想,也不一定意味這應用程序性能會不好,可以利用諸如預讀取、寫緩存等策略提升應用性能。
七、free命令
free命令可以查看系統內存的使用情況,-m參數表示按照兆位元組展示。最後兩列分別表示用於IO緩存的內存數,和用於文件系統頁緩存的內存數。需要注意的是,第二行-/+ buffers/cache,看上去緩存佔用了大量內存空間。
這是Linux系統的內存使用策略,盡可能的利用內存,如果應用程序需要內存,這部分內存會立即被回收並分配給應用程序。因此,這部分內存一般也被當成是可用內存。
如果可用內存非常少,系統可能會動用交換區(如果配置了的話),這樣會增加IO開銷(可以在iostat命令中提現),降低系統性能。
八、sar命令
sar命令在這里可以查看網路設備的吞吐率。在排查性能問題時,可以通過網路設備的吞吐量,判斷網路設備是否已經飽和。如示例輸出中,eth0網卡設備,吞吐率大概在22 Mbytes/s,既176 Mbits/sec,沒有達到1Gbit/sec的硬體上限。
sar命令在這里用於查看TCP連接狀態,其中包括:
active/s:每秒本地發起的TCP連接數,既通過connect調用創建的TCP連接;
passive/s:每秒遠程發起的TCP連接數,即通過accept調用創建的TCP連接;
retrans/s:每秒TCP重傳數量;
TCP連接數可以用來判斷性能問題是否由於建立了過多的連接,進一步可以判斷是主動發起的連接,還是被動接受的連接。TCP重傳可能是因為網路環境惡劣,或者伺服器壓
九、top命令
top命令包含了前面好幾個命令的檢查的內容。比如系統負載情況(uptime)、系統內存使用情況(free)、系統CPU使用情況(vmstat)等。因此通過這個命令,可以相對全面的查看系統負載的來源。同時,top命令支持排序,可以按照不同的列排序,方便查找出諸如內存佔用最多的進程、CPU佔用率最高的進程等。
但是,top命令相對於前面一些命令,輸出是一個瞬間值,如果不持續盯著,可能會錯過一些線索。這時可能需要暫停top命令刷新,來記錄和比對數據。
⑵ Linux監測系統狀態的神奇命令linux監聽命令
Linux是一個開源的網路操作系統,能夠安全、可靠、可增強的管理網路環境。在 Linux 環境下,使用的系統監測命令可以幫助我們對系統狀態和性能的變化有更多的了解。這幾個常用的Linux命令可以查看系統的 CPU,內存,網路,I / O,以及僵屍進程等各項信息,幫助管理員了解並實時地監控系統狀態。
首先說的是top命令,它是Linux下最流行的監測系統性能的命令。top可以實時地報告系統負載,包括CPU使用率,內存使用情況,任務隊列狀況,以及其他一些系統是量:
top –d 10 –c –H
該命令可以每10秒輸出一次結果,加入此參數可以把測量結果保存到文件或其他地方將其持久化,-H參數用於顯示多核CPU的性能數據分析,充分發揮多核CPU的能力。
此外,我們也可以使用vmstat來監測系統狀態,只需要輸入vmstat命令。這個命令用於查看系統的全局性能指標,包括CPU使用率、內存使用量、磁碟I/O活動量和網路使用量等:
vmstat 5 5
該命令表示每隔5秒鍾顯示1次狀態統計信息,連續顯示5次,這樣做的好處是可以對比歷史的性能信息,從而實時分析確定系統的變化情況。
最後,ps命令是一個檢查Linux性能的便捷命令,它可以顯示Linux系統中正在運行中各個進程,系統管理員可以通過ps命令來查看當前是否有僵屍進程,是否有異常的進程,從而發現系統性能異常的問題:
ps -A fe
運行這條命令來查看所有當前會話的程序,它會顯示程序名,開始時間,運行時間,進程ID等信息,以及僵屍進程,活動進程和休眠進程的狀態,以便定位系統性能問題。
以上這些命令都是Linux系統監測的利器,它們可以幫助系統管理員了解並實時監控系統的基本情況,對於對環境的管理和性能的提升有極大的幫助,為此可以使用這些神奇的命令來不斷改善系統的性能。
⑶ 如何用十條命令在一分鍾內檢查linux伺服器性能
1、uptime命令
這個命令可以快速查看機器的負載情況。
2、dmesg命令
該命令會輸出系統日誌的最後10行。
3、vmstat命令
vmstat(8) 命令,每行會輸出一些系統核心指標,這些指標可以讓我們更詳細的了解系統狀態。
4、mpstat命令
該命令可以顯示每個CPU的佔用情況。
5、pidstat命令
pidstat命令輸出進程的CPU佔用率。
6、iostat命令
7、free命令
free命令可以查看系統內存的使用情況,
8、sar命令
sar命令在這里可以查看網路設備的吞吐率。
9、top命令
包含了前面好幾個命令的檢查的內容。
⑷ linux常用性能命令
一般常用的都是用來分析伺服器資源的,如磁碟,內存,cpu,網路等,具體分享如下四個。
1. 性能分析之 iostat 命令
iostat命令顯示的是你的存儲系統的細節狀態。iostat顯示系統三種類型的報告:CPU利用率、設備使用報告和網路文件系統報告等是否正常,完全可以在用戶抱怨伺服器慢之前,通過這個命令發現系統I/O方面的問題。
2. 性能分析之 top 命令使用
top命令可以顯示系統中的進程信息。默認情況下,top會按照CPU使用率從高到低來顯示系統中的進程,並且每5秒刷新一次排行榜。當然,你也可以讓top按照PID、進程壽命、CPU耗時、內存消耗等維度對進程進行排序。(可以使用P和M快捷鍵,分別是按CPU利用率排序、按內存使用量排序)通過top命令,你可以很快地發現那些失去控制或不符合預期的進程。
3. 性能分析之 vmstat 命令使用
vmstat命令是Virtual Meomory Statistics(虛擬內存統計)的縮寫,是常見的Linux/Unix監控工具,可以展現給定時間間隔的伺服器的狀態值,包括伺服器的CPU使用率、內存使用、虛擬內存交換情況、IO讀寫情況。
4. 性能分析之 mpstat命令使用
mpstat是Multiprocessor Statistics的縮寫,是實時系統監控工具。其報告與CPU的一些統計信息,這些信息存放在/proc/stat文件中。在多CPU系統里,其不但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。mpstat最大的特點是:可以查看多核cpu中每個計算核心的統計數據;而類似工具vmstat只能查看系統整體cpu情況。
⑸ 超級干貨:3個性能監控和優化命令詳解
本文主要介紹三個用於性能監控和優化的Linux命令:top命令、free命令和vmstat命令。這些命令是系統管理中常用且功能強大的工具,能夠幫助用戶實時了解和分析系統性能。
首先,top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。通過top命令,用戶可以查看CPU、內存使用情況,以及進程的詳細信息。使用top命令時,可以按CPU使用率、內存使用量和執行時間對任務進行排序,並通過快捷鍵進行欄位排序、高亮顯示當前運行進程等操作,從而更直觀地進行性能監控和優化。
其次,free命令用於顯示Linux系統中空閑的、已用的物理內存及swap內存,以及被內核使用的buffer。free命令是監控內存使用情況的常用工具之一。通過輸出的信息,用戶可以了解系統內存的使用狀態,包括物理內存、交換內存以及內核緩沖區的使用情況。此外,通過區分系統視角和應用視角下內存的使用情況,以及對buffer和cached的解釋,可以幫助用戶理解內存使用效率,並提供內存優化的思路。
最後,vmstat命令是用於監控系統虛擬內存、進程和CPU活動的工具。它提供了系統整體性能的統計信息,包括進程創建、切換、CPU使用率、內存使用情況等。vmstat命令的輸出可以作為系統整體性能監控的重要參考,幫助用戶了解系統資源的使用情況和潛在問題。通過vmstat命令,用戶可以監控物理內存和虛擬內存的交換情況,以及進程的狀態變化,從而進行系統性能優化。
通過掌握這些命令的使用方法和特性,系統管理員可以更有效地監控系統性能,及時發現並解決性能瓶頸,提升系統的整體運行效率。同時,了解內存管理的基本原理,如物理內存與虛擬內存的區別、Linux內存管理的分頁和交換機制等,對於合理規劃和設計內存使用策略具有重要意義。