當前位置:首頁 » 操作系統 » linux負載命令

linux負載命令

發布時間: 2024-05-10 17:18:49

1. 如何用九條命令在一分鍾內檢查linux伺服器性能

一、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命令刷新,來記錄和比對數據。

2. linux鏈嶅姟鍣ㄨ礋杞借繃楂榣inux鏈嶅姟鍣ㄨ礋杞

linux鏈嶅姟鍣ㄥ崱姝伙紵

棣栧厛錛屽垽鏂姝繪満鐨勫師鍥狅紝閫氬父鏉ヨ達紝鏈瀹規槗瀵艱嚧姝繪満鐨勫師鍥犳槸緋葷粺璐熻澆榪囬珮錛岃繍琛屼簡娑堣楄緝澶у唴瀛樼殑紼嬪簭鍜屽簲鐢ㄣ

榪欎釜鏃跺欏彲浠ラ氳繃Ctrl+Alt+F1錛屽垏鎹㈠埌TTY鏂囧瓧鐣岄潰錛屽湪鎻愮ず絎﹀悗闈㈣緭鍏top騫跺洖杞︼紝灝卞彲浠ョ湅鍒板摢浜涜繘紼嬩笌搴旂敤娑堣椾簡澶氬皯璧勬簮銆傞氳繃杈撳叆kill鏉ュ叧闂紼嬪簭灝卞彲浠ヤ簡銆

闄や簡璐熻澆榪囬珮錛屼竴浜涘簳灞傜殑杞浠禕UG涔熶細瀵艱嚧涓嶅お鍑虹幇鐨勬繪満闂棰橈紝濡傛灉鍦ㄥ叧闂紼嬪簭鍚庝粛娌℃湁鍔犲揩榪愯岄熷害鎴栦粛鏄姝繪満錛岄偅涔堝彲浠ュ皾璇曢噸鍚璁$畻鏈恆

linux鏈嶅姟鍣ㄦ湁鍝浜涙棩甯告鏌ラ」鐩鍟婏紵

1銆乽ptime鍛戒護榪欎釜鍛戒護鍙浠ュ揩閫熸煡鐪嬫満鍣ㄧ殑璐熻澆鎯呭喌銆

2銆乨mesg鍛戒護璇ュ懡浠や細杈撳嚭緋葷粺鏃ュ織鐨勬渶鍚10琛屻

3銆乿mstat鍛戒護vmstat(8)鍛戒護錛屾瘡琛屼細杈撳嚭涓浜涚郴緇熸牳蹇冩寚鏍囷紝榪欎簺鎸囨爣鍙浠ヨ╂垜浠鏇磋︾粏鐨勪簡瑙g郴緇熺姸鎬併

4銆乵pstat鍛戒護璇ュ懡浠ゅ彲浠ユ樉紺烘瘡涓狢PU鐨勫崰鐢ㄦ儏鍐點

5銆乸idstat鍛戒護pidstat鍛戒護杈撳嚭榪涚▼鐨凜PU鍗犵敤鐜囥

6銆乮ostat鍛戒護7銆乫ree鍛戒護free鍛戒護鍙浠ユ煡鐪嬬郴緇熷唴瀛樼殑浣跨敤鎯呭喌錛8銆乻ar鍛戒護sar鍛戒護鍦ㄨ繖閲屽彲浠ユ煡鐪嬬綉緇滆懼囩殑鍚炲悙鐜囥9銆乼op鍛戒護鍖呭惈浜嗗墠闈㈠ソ鍑犱釜鍛戒護鐨勬鏌ョ殑鍐呭廣

濡備綍浣垮緱Linux鏈嶅姟鍣ㄤ笅澶氱綉鍗¤礋杞藉潎琛★紵

鈼嗗簲鐢ㄦ湇鍔″櫒鐨勮礋杞藉潎琛℃妧鏈濡傛灉灝嗗㈡埛絝鐨勮礋杞藉潎琛″眰縐繪嶅埌鏌愪竴涓涓闂村鉤鍙幫紝褰㈡垚涓夊眰緇撴瀯錛屽垯瀹㈡埛絝搴旂敤鍙浠ヤ笉闇瑕佸仛鐗規畩鐨勪慨鏀癸紝閫忔槑鐨勯氳繃涓闂村眰搴旂敤鏈嶅姟鍣ㄥ皢璇鋒眰鍧囪鍒扮浉搴旂殑鏈嶅姟緇撶偣銆傛瘮杈冨父瑙佺殑瀹炵幇鎵嬫靛氨鏄鍙嶅悜浠g悊鎶鏈銆備嬌鐢ㄥ弽鍚戜唬鐞嗘湇鍔″櫒錛屽彲浠ュ皢璇鋒眰鍧囧寑杞鍙戠粰澶氬彴鏈嶅姟鍣錛屾垨鑰呯洿鎺ュ皢緙撳瓨鐨勬暟鎹榪斿洖瀹㈡埛絝錛岃繖鏍風殑鍔犻熸ā寮忓湪涓瀹氱▼搴︿笂鍙浠ユ彁鍗囬潤鎬佺綉欏電殑璁塊棶閫熷害錛屼粠鑰岃揪鍒拌礋杞藉潎琛$殑鐩鐨勩備嬌鐢ㄥ弽鍚戜唬鐞嗙殑濂藉勬槸錛屽彲浠ュ皢璐熻澆鍧囪鍜屼唬鐞嗘湇鍔″櫒鐨勯珮閫熺紦瀛樻妧鏈緇撳悎鍦ㄤ竴璧鳳紝鎻愪緵鏈夌泭鐨勬ц兘銆傜劧鑰屽畠鏈韜涔熷瓨鍦ㄤ竴浜涢棶棰橈紝棣栧厛灝辨槸蹇呴』涓烘瘡涓縐嶆湇鍔¢兘涓撻棬寮鍙戜竴涓鍙嶅悜浠g悊鏈嶅姟鍣錛岃繖灝變笉鏄涓涓杞繪澗鐨勪換鍔°傚弽鍚戜唬鐞嗘湇鍔″櫒鏈韜鉶界劧鍙浠ヨ揪鍒板緢楂樻晥鐜囷紝浣嗘槸閽堝規瘡涓嬈′唬鐞嗭紝浠g悊鏈嶅姟鍣ㄥ氨蹇呴』緇存姢涓や釜榪炴帴錛屼竴涓瀵瑰栫殑榪炴帴錛屼竴涓瀵瑰唴鐨勮繛鎺ワ紝鍥犳ゅ逛簬鐗瑰埆楂樼殑榪炴帴璇鋒眰錛屼唬鐞嗘湇鍔″櫒鐨勮礋杞戒篃灝遍潪甯鎬箣澶с傚弽鍚戜唬鐞嗚兘澶熸墽琛岄拡瀵瑰簲鐢ㄥ崗璁鑰屼紭鍖栫殑璐熻澆鍧囪絳栫暐錛屾瘡嬈′粎璁塊棶鏈絀洪棽鐨勫唴閮ㄦ湇鍔″櫒鏉ユ彁渚涙湇鍔°備絾鏄闅忕潃騫跺彂榪炴帴鏁伴噺鐨勫炲姞錛屼唬鐞嗘湇鍔″櫒鏈韜鐨勮礋杞戒篃鍙樺緱闈炲父澶э紝鏈鍚庡弽鍚戜唬鐞嗘湇鍔″櫒鏈韜浼氭垚涓烘湇鍔$殑鐡墮堛傗槤鍩轟簬鍩熷悕緋葷粺鐨勮礋杞藉潎琛NCSA鐨勫彲鎵╁睍Web鏄鏈鏃╀嬌鐢ㄥ姩鎬丏NS杞璇㈡妧鏈鐨剋eb緋葷粺銆傚湪DNS涓涓哄氫釜鍦板潃閰嶇疆鍚屼竴涓鍚嶅瓧錛屽洜鑰屾煡璇㈣繖涓鍚嶅瓧鐨勫㈡埛鏈哄皢寰楀埌鍏朵腑涓涓鍦板潃錛屼粠鑰屼嬌寰椾笉鍚岀殑瀹㈡埛璁塊棶涓嶅悓鐨勬湇鍔″櫒錛岃揪鍒拌礋杞藉潎琛$殑鐩鐨勩傚湪寰堝氱煡鍚嶇殑web絝欑偣閮戒嬌鐢ㄤ簡榪欎釜鎶鏈錛氬寘鎷鏃╂湡鐨剏ahoo絝欑偣銆163絳夈傚姩鎬丏NS杞璇㈠疄鐜拌搗鏉ョ畝鍗曪紝鏃犻渶澶嶆潅鐨勯厤緗鍜岀$悊錛屼竴鑸鏀鎸乥ind8.2浠ヤ笂鐨勭被unix緋葷粺閮借兘澶熻繍琛岋紝鍥犳ゅ箍涓轟嬌鐢ㄣ侱NS璐熻澆鍧囪鏄涓縐嶇畝鍗曡屾湁鏁堢殑鏂規硶錛屼絾鏄瀛樺湪涓嶅皯闂棰樸傞栧厛鍩熷悕鏈嶅姟鍣ㄦ棤娉曠煡閬撴湇鍔$粨鐐規槸鍚︽湁鏁堬紝濡傛灉鏈嶅姟緇撶偣澶辨晥錛屼綑鍚嶇郴緇熶緷鐒朵細灝嗗煙鍚嶈В鏋愬埌璇ヨ妭鐐逛笂錛岄犳垚鐢ㄦ埛璁塊棶澶辨晥銆傚叾嬈★紝鐢變簬DNS鐨勬暟鎹鍒鋒柊鏃墮棿TTL錛圱imetoLIVE錛夋爣蹇楋紝涓鏃﹁秴榪囪繖涓猅TL錛屽叾浠朌NS鏈嶅姟鍣ㄥ氨闇瑕佸拰榪欎釜鏈嶅姟鍣ㄤ氦浜掞紝浠ラ噸鏂拌幏寰楀湴鍧鏁版嵁錛屽氨鏈夊彲鑳借幏寰椾笉鍚孖P鍦板潃銆傚洜姝や負浜嗕嬌鍦板潃鑳介殢鏈哄垎閰嶏紝灝卞簲浣縏TL灝介噺鐭錛屼笉鍚屽湴鏂圭殑DNS鏈嶅姟鍣ㄨ兘鏇存柊瀵瑰簲鐨勫湴鍧錛岃揪鍒伴殢鏈鴻幏寰楀湴鍧銆傜劧鑰屽皢TTL璁劇疆寰楄繃鐭錛屽皢浣緿NS嫻侀噺澶у烇紝鑰岄犳垚棰濆栫殑緗戠粶闂棰樸傛渶鍚庯紝瀹冧笉鑳藉尯鍒嗘湇鍔″櫒鐨勫樊寮傦紝涔熶笉鑳藉弽鏄犳湇鍔″櫒鐨勫綋鍓嶈繍琛岀姸鎬併傚綋浣跨敤DNS璐熻澆鍧囪鐨勬椂鍊欙紝蹇呴』灝介噺淇濊瘉涓嶅悓鐨勫㈡埛璁$畻鏈鴻兘鍧囧寑鑾峰緱涓嶅悓鐨勫湴鍧銆備緥濡傦紝鐢ㄦ埛A鍙鑳藉彧鏄嫻忚堝嚑涓緗戦〉錛岃岀敤鎴稡鍙鑳借繘琛岀潃澶ч噺鐨勪笅杞斤紝鐢變簬鍩熷悕緋葷粺娌℃湁鍚堥傜殑璐熻澆絳栫暐錛屼粎浠呮槸綆鍗曠殑杞嫻佸潎琛★紝寰堝規槗灝嗙敤鎴稟鐨勮鋒眰鍙戝線璐熻澆杞葷殑絝欑偣錛岃屽皢B鐨勮鋒眰鍙戝線璐熻澆宸茬粡寰堥噸鐨勭珯鐐廣傚洜姝わ紝鍦ㄥ姩鎬佸鉤琛$壒鎬т笂錛屽姩鎬丏NS杞璇㈢殑鏁堟灉騫朵笉鐞嗘兂銆傗槤楂樺眰鍗忚鍐呭逛氦鎹㈡妧鏈闄や簡涓婅堪鐨勫嚑縐嶈礋杞藉潎琛℃柟寮忎箣澶栵紝榪樻湁鍦ㄥ崗璁鍐呴儴鏀鎸佽礋杞藉潎琛¤兘鍔涚殑鎶鏈錛屽嵆URL浜ゆ崲鎴栦竷灞備氦鎹錛屾彁渚涗簡涓縐嶅硅塊棶嫻侀噺鐨勯珮灞傛帶鍒舵柟寮忋俉eb鍐呭逛氦鎹㈡妧鏈媯鏌ユ墍鏈夌殑HTTP鎶ュご錛屾牴鎹鎶ュご鍐呯殑淇℃伅鏉ユ墽琛岃礋杞藉潎琛$殑鍐崇瓥銆備緥濡傚彲浠ユ牴鎹榪欎簺淇℃伅鏉ョ『瀹氬備綍涓轟釜浜轟富欏靛拰鍥懼儚鏁版嵁絳夊唴瀹規彁渚涙湇鍔★紝甯歌佺殑鏈塇TTP鍗忚涓鐨勯噸瀹氬悜鑳藉姏絳夈侶TTP榪愯屼簬TCP榪炴帴鐨勬渶楂樺眰銆傚㈡埛絝閫氳繃鎮掑畾鐨勭鍙e彿80鐨凾CP鏈嶅姟鐩存帴榪炴帴鍒版湇鍔″櫒錛岀劧鍚庨氳繃TCP榪炴帴鍚戞湇鍔″櫒絝鍙戦佷竴涓狧TTP璇鋒眰銆傚崗璁浜ゆ崲鏍規嵁鍐呭圭瓥鐣ユ潵鎺у埗璐熻澆錛岃屼笉鏄鏍規嵁TCP絝鍙e彿錛屾墍浠ヤ笉浼氶犳垚璁塊棶嫻侀噺鐨勬粸鐣欍傜敱浜庤礋杞藉鉤琛¤懼囪佹妸榪涘叆鐨勮鋒眰鍒嗛厤緇欏氫釜鏈嶅姟鍣錛屽洜姝わ紝瀹冨彧鑳藉湪TCP榪炴帴鏃跺緩絝嬶紝涓擧TTP璇鋒眰閫氳繃鍚庢墠鑳界『瀹氬備綍榪涜岃礋杞界殑騫寵銆傚綋涓涓緗戠珯鐨勭偣鍑葷巼杈懼埌姣忕掍笂鐧劇敋鑷充笂鍗冩℃椂錛孴CP榪炴帴銆丠TTP鎶ュご淇℃伅鐨勫垎鏋愪互鍙婅繘紼嬬殑鏃跺歡宸茬粡鍙樺緱寰堥噸瑕佷簡錛岃佸敖涓鍒囧彲鑳芥彁楂樿繖鍑犲悇閮ㄤ喚鐨勬ц兘銆傚湪HTTP璇鋒眰鍜屾姤澶翠腑鏈夊緢澶氬硅礋杞藉鉤琛℃湁鐢ㄧ殑淇℃伅銆傛垜浠鍙浠ヤ粠榪欎簺淇℃伅涓鑾風煡瀹㈡埛絝鎵璇鋒眰鐨刄RL鍜岀綉欏碉紝鍒╃敤榪欎釜淇℃伅錛岃礋杞藉鉤琛¤懼囧氨鍙浠ュ皢鎵鏈夌殑鍥懼儚璇鋒眰寮曞煎埌涓涓鍥懼儚鏈嶅姟鍣錛屾垨鑰呮牴鎹甎RL鐨勬暟鎹搴撴煡璇㈠唴瀹硅皟鐢–GI紼嬪簭錛屽皢璇鋒眰寮曞煎埌涓涓涓撶敤鐨勯珮鎬ц兘鏁版嵁搴撴湇鍔″櫒銆傚傛灉緗戠粶綆$悊鍛樼啛鎮夊唴瀹逛氦鎹㈡妧鏈錛屼粬鍙浠ユ牴鎹瓾TTP鎶ュご鐨刢ookie瀛楁墊潵浣跨敤Web鍐呭逛氦鎹㈡妧鏈鏀瑰杽瀵圭壒瀹氬㈡埛鐨勬湇鍔★紝濡傛灉鑳戒粠HTTP璇鋒眰涓鎵懼埌涓浜涜勫緥錛岃繕鍙浠ュ厖鍒嗗埄鐢ㄥ畠浣滃嚭鍚勭嶅喅絳栥傞櫎浜員CP榪炴帴琛ㄧ殑闂棰樺栵紝濡備綍鏌ユ壘鍚堥傜殑HTTP鎶ュご淇℃伅浠ュ強浣滃嚭璐熻澆騫寵鍐崇瓥鐨勮繃紼嬶紝鏄褰卞搷Web鍐呭逛氦鎹㈡妧鏈鎬ц兘鐨勯噸瑕侀棶棰樸傚傛灉Web鏈嶅姟鍣ㄥ凡緇忎負鍥懼儚鏈嶅姟銆丼SL瀵硅瘽銆佹暟鎹搴撲簨鍔℃湇鍔′箣綾葷殑鐗規畩鍔熻兘榪涜屼簡浼樺寲錛岄偅涔堬紝閲囩敤榪欎釜灞傛$殑嫻侀噺鎺у埗灝嗗彲浠ユ彁楂樼綉緇滅殑鎬ц兘銆傗槤緗戠粶鎺ュ叆鍗忚浜ゆ崲澶у瀷鐨勭綉緇滀竴鑸閮芥槸鐢卞ぇ閲忎笓鐢ㄦ妧鏈璁懼囩粍鎴愮殑錛屽傚寘鎷闃茬伀澧欍佽礬鐢卞櫒銆佺3銆4灞備氦鎹㈡満銆佽礋杞藉潎琛¤懼囥佺紦鍐叉湇鍔″櫒鍜學eb鏈嶅姟鍣ㄧ瓑銆傚備綍灝嗚繖浜涙妧鏈璁懼囨湁鏈哄湴緇勫悎鍦ㄤ竴璧鳳紝鏄涓涓鐩存帴褰卞搷鍒扮綉緇滄ц兘鐨勫叧閿鎬ч棶棰樸傜幇鍦ㄨ稿氫氦鎹㈡満鎻愪緵絎鍥涘眰浜ゆ崲鍔熻兘錛屽瑰栨彁渚涗竴涓涓鑷寸殑IP鍦板潃錛屽苟鏄犲皠涓哄氫釜鍐呴儴IP鍦板潃錛屽規瘡嬈TCP鍜孶DP榪炴帴璇鋒眰錛屾牴鎹鍏剁鍙e彿錛屾寜鐓у嵆瀹氱殑絳栫暐鍔ㄦ侀夋嫨涓涓鍐呴儴鍦板潃錛屽皢鏁版嵁鍖呰漿鍙戝埌璇ュ湴鍧涓婏紝杈懼埌璐熻澆鍧囪鐨勭洰鐨

linux濡備綍鍒ゆ柇璐熻澆楂橈紵

璐熻澆(load)鏄痩inux鏈哄櫒鐨勪竴涓閲嶈佹寚鏍囷紝鐩磋備簡鍙嶅簲浜嗘満鍣ㄥ綋鍓嶇殑鐘舵併傚傛灉鏈哄櫒璐熻澆榪囬珮錛岄偅涔堝規満鍣ㄧ殑鎿嶄綔灝嗛毦浠ヨ繘琛屻

Linux鐨勮礋杞介珮錛屼富瑕佹槸鐢變簬CPU浣跨敤銆佸唴瀛樹嬌鐢ㄣ両O娑堣椾笁閮ㄥ垎鏋勬垚銆備換鎰忎竴欏逛嬌鐢ㄨ繃澶氾紝閮藉皢瀵艱嚧鏈嶅姟鍣ㄨ礋杞界殑鎬ュ墽鏀鍗囥

鏌ョ湅鏈嶅姟鍣ㄨ礋杞芥湁澶氱嶅懡浠わ紝w鎴栬卽ptime閮藉彲浠ョ洿鎺ュ睍紺鴻礋杞斤紝

$uptime

12:20:30up44days,21:46,2users,loadaverage:8.99,7.55,5.40

$w

12:22:02up44days,21:48,2users,loadaverage:3.96,6.28,5.16

loadaverage鍒嗗埆瀵瑰簲浜庤繃鍘1鍒嗛挓錛5鍒嗛挓錛15鍒嗛挓鐨勮礋杞藉鉤鍧囧箋

3. 怎樣提高Linux系統的短連接負載能力

計算機用戶舍棄微軟,開始應用於是很多人開始應用Linux操作系統,學習Linux時,學習Linux,你可能會遇到Linux系統應對短連接的負載能力問題,這里將介紹Linux系統應對短連接的負載能力的解決方法,在這里拿出來和大家分享一下。在存在大量短連接的情況下,Linux的TCP棧一般都會生成大量的 TIME_WAIT 狀態的socket。
你可以用下面的命令看到:
netstat -ant| grep -i time_wait
有時候,這個數目是驚人的:
netstat -ant|grep -i time_wait |wc -l
可能會超過三四萬。這個時候,我們需要修改 Linux kernel 的 tcp time wait的時間,縮短之,有個 sysctl 參數貌似可以使用,它是 /proc/sys/net/ipv4/tcp_fin_timeout,預設值是 60,也就是60秒,很多網上的資料都說將這個數值設置低一些就可以減少netstat 裡面的TIME_WAIT狀態,但是這個說法是錯誤的。經過認真閱讀Linux的內核源代碼,我們發現這個數值其實是輸出用的,修改之後並沒有真正的讀回內核中進行使用,而內核中真正管用的是一個宏定義,在 $KERNEL/include/net/tcp.h裡面,有下面的行:
#define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT * state, about 60 seconds */

而這個宏是真正控制 TCP TIME_WAIT 狀態的超時時間的。如果我們希望減少 TIME_WAIT 狀態的數目(從而節省一點點內核操作時間),那麼可以把這個數值設置低一些,根據我們的測試,設置為 10 秒比較合適,也就是把上面的修改為
#define TCP_TIMEWAIT_LEN (10*HZ) /* how long to wait to destroy TIME-WAIT * state, about 60 seconds */

然後重新編譯內核,重啟系統即可發現短連接造成的TIME_WAIT狀態大大減少:
netstat -ant | grep -i time_wait |wc -l
一般情況都可以至少減少2/3。也能相應提高系統應對短連接的速度。以上就是如何進行Linux系統應對短連接的負載能力介紹。

4. linux下怎麼查看伺服器性能

1.1 cpu性能查看

1、查看物理cpu個數:

cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

2、查看每個物理cpu中的core個數:

cat /proc/cpuinfo |grep "cpu cores"|wc -l

3、邏輯cpu的個數:

cat /proc/cpuinfo |grep "processor"|wc -l

物理cpu個數*核數=邏輯cpu個數(不支持超線程技術的情況下)

1.2 內存查看

1.3 硬碟查看

1、查看硬碟及分區信息:

fdisk -l

2、查看文件系統的磁碟空間佔用情況:

df -h

3、查看硬碟的I/O性能(每隔一秒顯示一次,顯示5次):

iostat -x 1 5

iostat是含在套裝systat中的,可以用yum -y install systat來安裝。

常關注的參數:

如%util接近100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟可能存在瓶頸。如idle小於70%,I/O的壓力就比較大了,說明讀取進程中有較多的wait。

4、查看linux系統中某目錄的大小:

-sh /root

如發現某個分區空間接近用完,可以進入該分區的掛載點,用以下命令找出佔用空間最多的文件或目錄,然後按照從大到小的順序,找出系統中佔用最多空間的前10個文件或目錄:

-cksh *|sort -rn|head -n 10

以上命令的詳細介紹可如下查詢:

5. linux 下查看網路負載命令

用 netstat 查看 Linux 網路狀況。
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
前面的 netstat -n是netstat的命令,Windows和Linux都可以用,結果顯示內容差不多
後面的 awk'/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 是Linux下的命令,主要作用是對netstat輸出的結果進行過濾和處理:
運行這一句之後,顯示的結果類似如下:
TIME_WAIT 27
FIN_WAIT1 435
FIN_WAIT2 89
ESTABLISHED 82
SYN_RECV 64
CLOSING 4
LAST_ACK 90
內容解釋如下:
TIME-WAIT:等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
FIN-WAIT-1:等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認
FIN-WAIT-2:從遠程TCP等待連接中斷請求
ESTABLISHED:代表一個打開的連接
SYN-RECV:再收到和發送一個連接請求後等待對方對連接請求的確認
SYN-SENT:再發送連接請求後等待匹配的連接請求
CLOSING:等待遠程TCP對連接中斷的確認
CLOSED:沒有任何連接狀態
CLOSE-WAIT:等待從本地用戶發來的連接中斷請求
LAST-ACK:等待原來的發向遠程TCP的連接中斷請求的確認
LISTEN:偵聽來自遠方的TCP埠的連接請求

6. 閫氳繃Linux鍛戒護鏌ョ湅緋葷粺騫沖潎璐熻澆鐨勬柟娉

榪欑瘒鏂囩珷涓昏佷粙緇嶄簡閫氳繃Linux鍛戒護鏌ョ湅緋葷粺騫沖潎璐熻澆鐨勬柟娉,瀵逛簬鏈嶅姟鍣ㄧ$悊鍛樻潵璇撮潪甯告湁鐢,闇瑕佺殑鏈嬪弸鍙浠ュ弬鑰冧笅

1銆丩inux緋葷粺鐨勫鉤鍧囪礋杞界殑姒傚康

鏈夋椂鍊欐垜浠浼氳夊緱緋葷粺鍝嶅簲寰堟參錛屼絾鏄鍙堟壘涓嶅埌鍘熷洜錛岃繖鏃跺氨瑕佹煡鐪嬪鉤鍧囪礋杞戒簡錛岀湅瀹冩槸鍚︽湁澶ч噺鐨勮繘紼嬪湪鎺掗槦絳夊緟銆傜壒瀹氭椂闂撮棿闅斿唴榪愯岄槦鍒椾腑鐨勫鉤鍧囪繘紼嬫暟鍙浠ュ弽鏄犵郴緇熺殑綣佸繖紼嬪害錛屾墍浠ユ垜浠閫氬父浼氬湪鑷宸辯殑緗戠珯鎴栫郴緇熷彉鎱㈡椂絎涓鏃墮棿鏌ョ郴緇熺殑璐熻澆錛屽嵆CPU鐨勫鉤鍧囪礋杞姐

2銆佹煡鐪嬪鉤鍧囪礋杞

絀剁珶搴旇ュ備綍鏌ョ湅騫沖潎璐熻澆鍛?鏈綆鍗曠殑鍛戒護鏄痷ptime錛屽備笅鎵紺猴細

浠g爜濡備笅:

[root@localhost 鍀瀅# uptime

11:31:11 up 11 days, 19:01,2 users,load average: 0.02, 0.01, 0.00

鐩鍓嶇殑涓繪祦鏈嶅姟鍣ㄩ兘鏄鍙屽洓鏍革紝鏈夌浉褰撳己鎮嶇殑CPU錛屽仛涓鑸鐨勫簲鐢ㄦ湇鍔$殑璇濓紝Linux緋葷粺鐨勮礋杞借繖鍧楀掍笉鐢ㄦ垜浠鎷呭績銆

榪樺彲浠ョ敤w鍛戒護鏉ユ煡鐪嬶紝欏轟究鍙浠ユ煡鐪嬩竴涓嬬郴緇熷綋鍓嶆湁鍝浜涚敤鎴鳳紝浠栦滑鍗犵敤浜嗗摢浜涚粓絝錛屽備笅鎵紺猴細

浠g爜濡備笅:

[root@localhost 鍀瀅# w

11:33:00 up 11 days, 19:03,2 users,load average: 0.00, 0.00, 0.00

USER TTYFROMLOGIN@ IDLE JCPU PCPU WHAT

root pts/1113.57.224.309:032:11m0.04s0.04s -bash

root pts/.57.224.311:310.00s0.02s0.00s w

鍙﹀栵紝榪樻湁鍔ㄦ佸懡浠top錛岃繖涓鍛戒護涔熷彲浠ュ弽鏄犵郴緇熻礋杞芥儏鍐點傚湪涓嬮潰鐨勫懡浠ゆ彁紺轟腑錛屾垜浠鍙鍏沖績鍔犵矖瀛椾綋閮ㄥ垎銆

浠g爜濡備笅:

[root@localhost 鍀瀅# top

top - 11:37:47 up 11 days, 19:08,2 users,load average: 0.00, 0.00, 0.00

Tasks: 122 total, 1 running, 121 sleeping, 0 stopped, 0 zombie

Cpu(s):0.1%us,0.0%sy,0.0%ni, 99.9%id,0.0%wa,0.0%hi,0.0%si,0.0%st

Mem: 4044136k total,1435504k used,2608632k free, 274740k buffers

Swap:8193140k total,0k used,8193140k free, 941884k cached

涓婇潰鍔犵矖瀛椾綋鏄劇ず鐨勫唴瀹規槸浠涔堟剰鎬濆憿?鍐嶉氳繃uptime鏌ョ湅涓涓嬨

浠g爜濡備笅:

[root@localhost 鍀瀅# uptime

11:39:36 up 11 days, 19:16,1 user,load average: 0.09, 0.03, 0.01

鍘熸潵瀹冩墍琛ㄧず鐨勬槸榪囧幓鐨1鍒嗛挓銆5鍒嗛挓鍜15鍒嗛挓鍐呰繘紼嬮槦鍒椾腑鐨勫鉤鍧囪繘紼嬫暟閲忋

閭d箞錛屽備綍琛¢噺褰撳墠緋葷粺鏄鍚﹁礋杞借繃楂樺憿?鍙浠ヤ粠浠ヤ笅鍑犵偣鏉ヨ冭檻銆

濡傛灉姣忎釜CPU(鍙浠ユ寜CPU鏍稿績鐨勬暟閲忚$畻)褰撳墠鐨勬椿鍔ㄨ繘紼嬫暟涓嶅ぇ浜3錛屽垯緋葷粺鎬ц兘鑹濂姐

濡傛灉姣忎釜CPU褰撳墠鐨勬椿鍔ㄨ繘紼嬫暟涓嶅ぇ浜4錛岃〃紺哄彲浠ユ帴鍙椼

濡傛灉姣忎釜CPU褰撳墠鐨勬椿鍔ㄨ繘紼嬫暟澶т簬5錛屽垯緋葷粺鎬ц兘闂棰樹弗閲嶃

榪樺彲浠ョ粨鍚坴mstat鍛戒護鏉ュ垽鏂鎴戜滑鐨勭郴緇熸槸鍚﹁繃浜庣箒蹇欙紝濡傛灉紜瀹氬緢綣佸繖鐨勮瘽錛屽氨瑕佽冭檻鏄鍚︽洿鎹㈡湇鍔″櫒鎴栧炲姞CPU鐨勪釜鏁頒簡銆傛葷粨濡備笅錛

濡傛灉r緇忓父澶т簬3鎴4錛屼笖id緇忓父灝戜簬50錛屽垯琛ㄧずCPU鐨勮礋鑽峰緢閲嶃

鍦ㄤ笂闈渚嬪瓙涓錛屾垜鐨勬湇鍔″櫒鏄疨owerEdge 2850錛孋PU鏄鍙屾牳鍙岀嚎紼嬬殑錛屽垯0.09/2=0.045(鍗寵礋杞藉/鐪熷疄CPU涓鏁)錛屾ょ郴緇熺殑CPU璐熻澆鍩烘湰鍙浠ュ拷鐣ヤ簡銆備簨瀹炰笂錛岀幇鍦ㄤ富嫻佹湇鍔″櫒 鐨凜PU閮藉緢寮烘倣錛屽傛灉涓嶆槸搴旂敤鉶氭嫙鍖栫瓑鐗規畩鍦烘櫙錛屽熀鏈涓婅礋杞介兘寰堟牎

鎸夌収鍓嶉潰鐨勮$畻鍏寮忥紝鎴戞墍閰嶇疆Nagios鎶ヨ︾殑CPU璐熻澆闃堝 涓篊PU鏍稿績鐨勬暟閲(鍗矯PU鐨勭墿鐞嗕釜鏁懊楁牳鏁)銆傝繕鏄浠ユ垜鐨勬湇鍔″櫒PowerEdge 2850涓轟緥錛屽叾CPU鏍稿績鐨勬暟閲忎負2脳2=4錛屽垯璁劇疆鎶ヨ﹀間負4銆傝繖鏍瘋劇疆鏄鍚堢悊鐨勶紝鍥犱負姣曠珶涓嶆槸姣忎釜搴旂敤鏈嶅姟鍣ㄧ殑CPU閮芥敮鎸佸氭牳蹇冿紝姣曠珶鏁翠釜緗戠珯涓 榪樻湁浜涙ц兘姣旇緝寮辯殑鏈嶅姟鍣ㄦ槸鐢ㄦ潵鍋氬囦喚鐨勩

7. linux鐨刢pu璐熻澆榪囬珮linux鐨刢pu璐熻澆

鏈嶅姟鍣–PU璐熻澆榪囬珮錛屽備綍瀹氫綅闂棰橈紵

涓涓搴旂敤鍗犵敤CPU寰堥珮錛岄櫎浜嗙『瀹炴槸璁$畻瀵嗛泦鍨嬪簲鐢ㄤ箣澶栵紝閫氬父鍘熷洜閮芥槸鍑虹幇浜嗘誨驚鐜銆侰PU璐熻澆榪囬珮瑙e喅闂棰樿繃紼嬶細

浣跨敤銆恡op銆戝懡浠ゅ畾浣嶅紓甯歌繘紼嬶紝鍙鍙戠幇12836鐨凜PU鍜屽唴瀛樺崰鐢ㄧ巼閮介潪甯擱珮

澶囨敞錛歵op鍛戒護榛樿ゆ儏鍐典笅錛屾槸姣3縐掑埛鏂頒竴嬈°備篃鍙浠ラ氳繃top-d鍒鋒柊鏃墮棿闂撮殧>鏉ユ寚瀹氬埛鏂伴戠巼錛屽倀op-d0.1鎴杢op-d0.01絳夈倀op鎵ц屾椂錛屼篃鍙浠ユ寜鈥渟鈥濋敭錛屼慨鏀規椂闂撮棿闅斻

浣跨敤銆恡op-H-p榪涚▼鍙楓戞煡鐪嬪紓甯哥嚎紼

浣跨敤銆恜rintf"%xn"綰跨▼鍙楓戝皢寮傚父綰跨▼鍙瘋漿鍖栦負16榪涘埗

浣跨敤銆恓stack榪涚▼鍙穦grep16榪涘埗寮傚父綰跨▼鍙-A90銆戞潵瀹氫綅寮傚父浠g爜鐨勪綅緗錛堟渶鍚庣殑-A90鏄鏃ュ織琛屾暟錛屼篃鍙浠ヨ緭鍑轟負鏂囨湰鏂囦歡鎴栦嬌鐢ㄥ叾浠栨暟瀛楋級銆傚彲浠ョ湅鍒板紓甯鎬唬鐮佺殑浣嶇疆銆

鎵懼埌鐩稿簲浠g爜媯鏌ワ紝鍙戠幇紜瀹炴湁姝誨驚鐜瀛樺湪銆

鎺掓煡CPU鏁呴殰鐨勫父鐢ㄥ懡浠わ細

top鍛戒護錛歀inux鍛戒護銆傚彲浠ユ煡鐪嬪疄鏃剁殑CPU浣跨敤鎯呭喌銆備篃鍙浠ユ煡鐪嬫渶榪戜竴孌墊椂闂寸殑CPU浣跨敤鎯呭喌銆

PS鍛戒護錛歀inux鍛戒護銆傚己澶х殑榪涚▼鐘舵佺洃鎺у懡浠ゃ傚彲浠ユ煡鐪嬭繘紼嬩互鍙婅繘紼嬩腑綰跨▼鐨勫綋鍓岰PU浣跨敤鎯呭喌銆傚睘浜庡綋鍓嶇姸鎬佺殑閲囨牱鏁版嵁銆

jstack錛欽ava鎻愪緵鐨勫懡浠ゃ傚彲浠ユ煡鐪嬫煇涓榪涚▼鐨勫綋鍓嶇嚎紼嬫爤榪愯屾儏鍐點傛牴鎹榪欎釜鍛戒護鐨勮緭鍑哄彲浠ュ畾浣嶆煇涓榪涚▼鐨勬墍鏈夌嚎紼嬬殑褰撳墠榪愯岀姸鎬併佽繍琛屼唬鐮侊紝浠ュ強鏄鍚︽婚攣絳夌瓑銆

pstack錛歀inux鍛戒護銆傚彲浠ユ煡鐪嬫煇涓榪涚▼鐨勫綋鍓嶇嚎紼嬫爤榪愯屾儏鍐點

熱點內容
手機淘寶緩存視頻 發布:2024-05-21 05:21:09 瀏覽:347
4款配置怎麼選 發布:2024-05-21 05:20:03 瀏覽:585
python服務重啟 發布:2024-05-21 05:07:51 瀏覽:667
內部存儲空間怎麼清除 發布:2024-05-21 04:04:55 瀏覽:498
bilibili不能緩存 發布:2024-05-21 03:31:14 瀏覽:617
解壓剃發 發布:2024-05-21 03:16:27 瀏覽:641
伺服器怎麼連接到電腦顯示屏上 發布:2024-05-21 02:38:21 瀏覽:286
織夢安裝資料庫連接失敗 發布:2024-05-21 02:37:45 瀏覽:259
python編程入門經典pdf 發布:2024-05-21 02:31:45 瀏覽:7
arm編譯添加驅動 發布:2024-05-21 02:02:28 瀏覽:476