溫馨提示×

溫馨提示×

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

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

生產(chǎn)服務(wù)器變慢了怎么辦

發(fā)布時(shí)間:2021-12-24 17:36:56 來源:億速云 閱讀:117 作者:iii 欄目:服務(wù)器

本篇內(nèi)容介紹了“生產(chǎn)服務(wù)器變慢了怎么辦”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

top

看服務(wù)器整體使用情況,一般都是 top 命令搞定

生產(chǎn)服務(wù)器變慢了怎么辦

img

我知道當(dāng)你看到這張圖的時(shí)候,肯定有點(diǎn)兒懵,特別是一個(gè)個(gè)的數(shù)字,這都是個(gè)啥?

阿粉帶你一行一行的看

第 1 行:系統(tǒng)時(shí)間、運(yùn)行時(shí)間、登錄終端數(shù)、系統(tǒng)負(fù)載(三個(gè)數(shù)值分別為1分鐘、5分鐘、15分鐘內(nèi)的平均值,數(shù)值越小意味著負(fù)載越低)

第 2 行:進(jìn)程總數(shù)、運(yùn)行中的進(jìn)程數(shù)、睡眠中的進(jìn)程數(shù)、停止的進(jìn)程數(shù)、僵死的進(jìn)程數(shù)。一般情況下,只要沒有僵死的進(jìn)程,就沒啥大問題。

第 3 行:用戶占用資源百分比、系統(tǒng)內(nèi)核占用資源百分比、改變過優(yōu)先級(jí)的進(jìn)程資源百分比、空閑的資源百分比等。

第 4 行:物理內(nèi)存總量、內(nèi)存空閑量、內(nèi)存使用量、作為內(nèi)核緩存的內(nèi)存量

第 5 行:虛擬內(nèi)存總量、虛擬內(nèi)存空閑量、虛擬內(nèi)存使用量、已被提前加載的內(nèi)存量

第 6 行里面主要看 PID 和 COMMAND 這兩個(gè)參數(shù),其中 PID 就是進(jìn)程 ID , COMMAND  就是執(zhí)行的命令,能夠看到比較靠前的兩個(gè)進(jìn)程都是 java 進(jìn)程

在當(dāng)前這個(gè)界面,按下數(shù)字鍵盤 1 能夠看到各個(gè) CPU 的詳細(xì)利用率

生產(chǎn)服務(wù)器變慢了怎么辦

vmstat

想要了解 CPU 使用情況的話,常用的命令就是 vmstat 。

生產(chǎn)服務(wù)器變慢了怎么辦

一般 vmstat 工具的使用是通過兩個(gè)數(shù)字參數(shù)來完成的,第一個(gè)參數(shù)是采樣的時(shí)間間隔,單位是秒,第二個(gè)參數(shù)是采樣的次數(shù),阿粉這次的命令是:vmstat  -n 3 2 意思就是隔 3 秒取樣一次,一共取樣 2 次

其中主要關(guān)注 procs 和 cpu 這兩個(gè)參數(shù)

procs :

  • r :運(yùn)行和等待 CPU 時(shí)間片的進(jìn)程數(shù),一般來說整個(gè)系統(tǒng)的運(yùn)行隊(duì)列不要超過總核數(shù)的 2 倍,要不然系統(tǒng)壓力太大了

  • b : 等待資源的進(jìn)程數(shù),比如正在等待磁盤 IO ,網(wǎng)絡(luò) IO 這種

cpu :

  • us :用戶進(jìn)程消耗 CPU 時(shí)間百分比, us 值高的話,說明用戶進(jìn)程消耗 CPU 時(shí)間比較長,如果長期大于 50%  的話,那就說明程序還有需要優(yōu)化的地方

  • sy :內(nèi)核進(jìn)程消耗的 CPU 時(shí)間百分比

  • us + sy 參考值為 80% ,如果大于 80% 的話,說明可能存在 CPU 不足

free

查看內(nèi)存情況用的就是 free , 它主要有三個(gè)命令:free free -g free -m ,阿粉是推薦 free -m  為啥呢,咱們瞅瞅它們各自的運(yùn)行結(jié)果就知道了

生產(chǎn)服務(wù)器變慢了怎么辦

img

其中:free 命令運(yùn)行結(jié)果顯示的非常不友好,看到 3880324 可以快速告訴我它是多大嗎?free -g 這個(gè)命令四舍五入了,明明給的內(nèi)存是 4G  ,結(jié)果使用 free -g 一查看,竟然成了 3G ?excuse me ?如果線上環(huán)境出問題了,你說因?yàn)閮?nèi)存給的不夠,運(yùn)維說,這鍋我可不背

相對(duì)來說, free -m 是比較容易看,而且結(jié)果也是比較精確的

如果應(yīng)用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存大于 70% 的話,說明內(nèi)存是充足的,沒啥問題,但是如果小于 20% 的話,就要考慮增加內(nèi)存了

df

如果排查磁盤問題的話,首先要看的就是磁盤空間夠不夠,還記得阿粉在上家公司的時(shí)候,用的還是 svn  出現(xiàn)了一個(gè)很神奇的問題,就是哪里都不報(bào)錯(cuò),就是提交不上代碼,排查到最后是磁盤空間不夠...

所以別問阿粉為啥排查磁盤問題時(shí),第一就是看磁盤空間夠不夠!!!

查看磁盤空間就是 df 或者 df -h 這兩個(gè)命令了

生產(chǎn)服務(wù)器變慢了怎么辦

iostat

說到磁盤 IO 相信你一定能夠想到,在對(duì)數(shù)據(jù)庫進(jìn)行操作時(shí),第一要考慮到的就是磁盤 IO  操作,因?yàn)橄鄬?duì)來說,如果在某個(gè)時(shí)間段給磁盤進(jìn)行大量的寫入操作會(huì)造成程序等待時(shí)間長,導(dǎo)致客戶端那邊好久都沒啥反應(yīng),用戶體驗(yàn)就降低了嗎

檢查磁盤 IO 情況的命令就是 iostat ,如果你用的時(shí)候發(fā)現(xiàn)提示:-bash: iostat: command not found  ,那是因?yàn)闆]有安裝 sysstat ,安裝一下就可以了:yum install -y sysstat

接下來運(yùn)行命令:iostat -xdk 3 2 ,和 vmstat 命令很像有沒有~

生產(chǎn)服務(wù)器變慢了怎么辦

這么多指標(biāo)咱們不需要都關(guān)注,只要看其中這幾個(gè)就可以了:

  • rkB/s :每秒讀取數(shù)據(jù)量 kB ;

  • wkB/s :每秒寫入數(shù)據(jù)量 kB ;

  • svctm :I/O 請求的平均服務(wù)時(shí)間,單位毫秒;

  • util :一秒中有百分之幾的時(shí)間用于 I/O 操作,如果接近 100% 說明磁盤帶寬跑滿了,這個(gè)時(shí)候就要優(yōu)化程序或者增加磁盤了

sar

網(wǎng)絡(luò) IO 的話,可以通過 sar -n DEV 3 2 這條命令來看,和上面的差不多,意思就是每隔 3 秒取樣一次,一共取樣 2 次。

其中:

  • IFACE :LAN 接口

  • rxpck/s :每秒鐘接收的數(shù)據(jù)包

  • txpck/s :每秒鐘發(fā)送的數(shù)據(jù)包

  • rxKB/s :每秒接收的數(shù)據(jù)量,單位 KByte

  • txKB/s :每秒發(fā)出的數(shù)據(jù)量,單位 KByte

  • rxcmp/s :每秒鐘接收的壓縮數(shù)據(jù)包

  • txcmp/s :每秒鐘發(fā)送的壓縮數(shù)據(jù)包

  • rxmcst/s:每秒鐘接收的多播數(shù)據(jù)包

這種方式特別簡單直觀,對(duì)新手來說比較容易看到

“生產(chǎn)服務(wù)器變慢了怎么辦”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI