您好,登錄后才能下訂單哦!
Linux中怎么查看機器負載,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
負載(load)是linux機器的一個重要指標,直觀了反應了機器當前的狀態。如果機器負載過高,那么對機器的操作將難以進行。
Linux的負載高,主要是由于CPU使用、內存使用、IO消耗三部分構成。任意一項使用過多,都將導致服務器負載的急劇攀升。
查看服務器負載有多種命令,w或者uptime都可以直接展示負載,
$ uptime
12:20:30 up 44 days, 21:46, 2 users, load average: 8.99, 7.55, 5.40
$ w
12:22:02 up 44 days, 21:48, 2 users, load average: 3.96, 6.28, 5.16
load average分別對應于過去1分鐘,5分鐘,15分鐘的負載平均值。
這兩個命令只是單純的反映出負載,linux提供了更為強大,也更為實用的top命令來查看服務器負載。
$ top
top命令能夠清晰的展現出系統的狀態,而且它是實時的監控,按q退出。
Tasks行展示了目前的進程總數及所處狀態,要注意zombie,表示僵尸進程,不為0則表示有進程出現問題。
Cpu(s)行展示了當前CPU的狀態,us表示用戶進程占用CPU比例,sy表示內核進程占用CPU比例,id表示空閑CPU百分比,wa表示IO等待所占用的CPU時間的百分比。wa占用超過30%則表示IO壓力很大。
Mem行展示了當前內存的狀態,total是總的內存大小,userd是已使用的,free是剩余的,buffers是目錄緩存。
Swap行同Mem行,cached表示緩存,用戶已打開的文件。如果Swap的used很高,則表示系統內存不足。
在top命令下,按1,則可以展示出服務器有多少CPU,及每個CPU的使用情況
一般而言,服務器的合理負載是CPU核數*2。也就是說對于8核的CPU,負載在16以內表明機器運行很穩定流暢。如果負載超過16了,就說明服務器的運行有一定的壓力了。
在top命令下,按shift + "c",則將進程按照CPU使用率從大到小排序,按shift+"p",則將進程按照內存使用率從大到小排序,很容易能夠定位出哪些服務占用了較高的CPU和內存。
僅僅有top命令是不夠的,因為它僅能展示CPU和內存的使用情況,對于負載升高的另一重要原因——IO沒有清晰明確的展示。linux提供了iostat命令,可以了解io的開銷。
輸入iostat -x 1 10命令,表示開始監控輸入輸出狀態,-x表示顯示所有參數信息,1表示每隔1秒監控一次,10表示共監控10次。
其中rsec/s表示讀入,wsec/s表示每秒寫入,這兩個參數某一個特別高的時候就表示磁盤IO有很大壓力,util表示IO使用率,如果接近100%,說明IO滿負荷運轉。
總結:
(1)使用top命令查看負載,在top下按“1”查看CPU核心數量,shift+"c"按cpu使用率大小排序,shif+"p"按內存使用率高低排序;
(2)使用iostat -x 命令來監控io的輸入輸出是否過大
關于Linux中怎么查看機器負載問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。