亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

服務器的負載及問題排查方法是什么

發布時間:2022-01-14 09:25:25 來源:億速云 閱讀:137 作者:iii 欄目:服務器

這篇“服務器的負載及問題排查方法是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“服務器的負載及問題排查方法是什么”文章吧。

什么是負載

隨著 Internet 的快速發展和業務量的不斷提高,基于網絡的數據訪問流量迅速增長,特別是對數據  中心、大型企業以及門戶網站等的訪問,其訪問流量甚至達到了 10Gb/s 的級別;同時,服務器網 站借助 HTTP、FTP、SMTP  等應用程序,為訪問者提供了越來越豐富的內容和信息,服務器逐漸 被數據淹沒;另外,大部分網站(尤其電子商務等網站)都需要提供不間斷 24 小時服務,任何服  務中斷或通信中的關鍵數據丟失都會造成直接的商業損失。所有這些都對應用服務提出了高性能和 高可靠性的需求,這些海量的訪問數據均是負載。

查看機器負載

在Linux機器上,有多個命令都可以查看機器的負載信息。其中包括uptime 、top、w 等。

uptime命令

命令能夠打印系統總共運行了多長時間和系統的平均負載。uptime命令可以顯示的信息顯示依次為:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載。

? ~uptime13:29 up23:41, 3users,loadaverages: 1.741.871.97

這行信息的后半部分,顯示"load average",它的意思是"系統的平均負荷",里面有三個數字,我們可以從中判斷系統負荷是大還是小。

1.74 1.87 1.97 這三個數字的意思分別是1分鐘、5分鐘、15分鐘內系統的平均負荷。我們一般表示為load1、load5、load15。

w命令

w命令的主要功能其實是顯示目前登入系統的用戶信息。但是與who不同的是,w命令功能更加強大,w命令還可以顯示:當前時間,系統啟動到現在的時間,登錄用戶的數目,系統在最近1分鐘、5分鐘和15分鐘的平均負載。然后是每個用戶的各項數據,項目顯示順序如下:登錄帳號、終端名稱、遠  程主機名、登錄時間、空閑時間、JCPU、PCPU、當前正在運行進程的命令行。

? ~w14:08 up23:41, 3users,loadaverages: 1.741.871.97USER TTY FROM LOGIN@ IDLE WHAThollis console - 六14 23:40-hollis s000 - 六14 20:24-zshhollis s001 - 六15 - w

從上面的w命令的結果可以看到,當前系統時間是14:08,系統啟動到現在經歷了23小時41分鐘,共有3個用戶登錄。系統在近1分鐘、5分鐘和15分鐘的平均負載分別是1.74  1.87 1.97。這和uptime得到的結果相同。 下面還打印了一些登錄的用戶的各項數據,不詳細介紹了。

top命令

top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似于Windows的任務管理器。

? ~topProcesses:244total,3running,9stuck,232sleeping,1484threads14:16:01LoadAvg:1.74,1.87,1.97 CPUusage:8.0%user,6.79%sys,85.19%idle SharedLibs:116Mresident,16Mdata,14Mlinkedit.MemRegions:66523total,2152Mresident,50Mprivate,930Mshared.PhysMem:7819Mused(1692M wired),370Munused.VM:682Gvsize,533Mframeworkvsize,6402060(0)swapins,7234356(0)swapouts.Networks:packets:383006/251Min,334448/60Mout.Disks:1057821/38Gread,350852/40Gwritten.PID COMMAND %CPUTIME #TH #WQ #PORTMEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME%CPU_OTHRSUID FAULTS COW MSGSENT MSGRECV SYSBSD SYSMACH CSW30845 top 3.0 00:00.491/1 0 21 3632K 0B 0B 308451394 running *0[1] 0.000000.00000 0 3283+ 112 203556+ 101770+ 8212+ 119901+ 823+30842 GoogleChrom0.0 00:47.3917 0 155 130M 0B 0B 1146 1146 sleeping*0[1] 0.000000.00000 501 173746 2697 117678 37821 364228 444830 310043

上面的輸出結果中,Load Avg: 1.74, 1.87, 1.97顯示的就是負載信息。

機器正常負載范圍

對于機器的Load到底多少算正常的問題,一直都是很有爭議的,不同人有著不同的理解。對于單個CPU,有人認為如果Load超過0.7就算是超出正常范圍了。也有人認為只要不超過1都沒問題。也有人認為,單個CPU的負載在2以下都可以接受。

為什么會有這么多不同的理解呢,是因為不同的機器除了CPU影響之外還有其他因素的影響,運行的程序、機器內存、甚至是機房溫度等都有可能有區別。

比如,有些機器用于定時執行大量的跑批任務,這個時間段內,Load可能會飆的比較高。而其他時間可能會比較低。那么這段飆高時間我們要不要去排查問題呢?

我的建議是,最好根據自己機器的實際情況,建立一個指標的基線(如近一個月的平均值),只要日常的load在基線上下范圍內不太大都可以接收,如果差距太多可能就要人為介入檢查了。

如何降低負載

導致負載高的原因可能很復雜,有可能是硬件問題也可能是軟件問題。

如果是硬件問題,那么說明機器性能確實就不行了,那么解決起來很簡單,直接換機器就可以了。

前面我們提過,CPU使用、內存使用、IO消耗都可能導致負載高。如果是軟件問題,有可能由于Java中的某些線程被長時間占用、大量內存持續占用等導致。建議從以下幾個方面排查代碼問題:

1、是否有內存泄露導致頻繁GC

2、是否有死鎖發生

3、是否有大字段的讀寫

4、會不會是數據庫操作導致的,排查SQL語句問題。

這里還有個建議,如果發現線上機器Load飆高,可以考慮先把堆棧內存dump下來后,進行重啟,暫時解決問題,然后再考慮回滾和排查問題。

Java Web應用Load飆高排查思路

1、使用uptime查看當前load,發現load飆高。

服務器的負載及問題排查方法是什么

2、使用top命令,查看占用CPU較高的進程ID。

服務器的負載及問題排查方法是什么

3、使用 top命令,查看具體是哪個線程占用率較高

服務器的負載及問題排查方法是什么

4、使用printf 命令查看這個線程的16進制

服務器的負載及問題排查方法是什么

5、還可以使用jstat()來查看GC情況,看看是否有頻繁FGC,然后再使用jmap來dump內存,查看是否存在內存泄露。

以上就是關于“服務器的負載及問題排查方法是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒙城县| 故城县| 含山县| 高阳县| 罗山县| 武义县| 布尔津县| 钟山县| 菏泽市| 杨浦区| 江源县| 阿瓦提县| 吐鲁番市| 虞城县| 江北区| 芜湖县| 江津市| 孝义市| 长寿区| 嫩江县| 咸丰县| 土默特右旗| 化隆| 嘉祥县| 清苑县| 信阳市| 洛宁县| 竹山县| 丰城市| 项城市| 宿松县| 澎湖县| 巧家县| 阳朔县| 洮南市| 呼玛县| 察哈| 云安县| 正镶白旗| 通州区| 临武县|