2023-12-16 分類: 網(wǎng)站建設(shè)
當(dāng)您的專用服務(wù)器上的應(yīng)用程序出現(xiàn)問題時,系統(tǒng)管理員或開發(fā)人員的第一反應(yīng)是查看可能導(dǎo)致服務(wù)器運(yùn)行緩慢的原因。您運(yùn)行 netstat、top、free、ps、vmstat 和 iostat,但要得出結(jié)論,您需要準(zhǔn)確了解您正在查看的內(nèi)容。
專用服務(wù)器性能問題可能與網(wǎng)絡(luò)、CPU、內(nèi)存或存儲有關(guān)。在這里,我們查看 CPU 和內(nèi)存指標(biāo),以了解您的機(jī)器中發(fā)生了什么。我們使用top來衡量和顯示您的所有 Linux 進(jìn)程。Top 是一個命令行,可以幫助您解析處理器活動。您將實(shí)時查看流程并按不同的詳細(xì)信息對其進(jìn)行排序。
Linux 進(jìn)程:自上而下頂部屏幕分為頂部的累積視圖和下面顯示的過程指標(biāo)。
您可以按照手冊頁的說明向 top 提供不同的命令行選項(xiàng)以顯示不同的指標(biāo)。這是默認(rèn)視圖:
在頂部,屏幕顯示任務(wù)(進(jìn)程)的數(shù)量。如果使用H命令運(yùn)行 top,它會列出線程。
多線程程序(例如 Google Chrome)允許一個程序運(yùn)行多個任務(wù)。這樣,例如,Chrome 可以在您查看另一個選項(xiàng)卡時下載一個頁面,并同時響應(yīng)諸如單擊滾動條之類的事件。一個進(jìn)程可以產(chǎn)生許多線程。當(dāng)一個進(jìn)程停止并等待另一個進(jìn)程完成時,當(dāng)它們陷入僵局時,它們本身可能會出現(xiàn)性能問題。
在?任務(wù)行中,我們總共有 286 個:1 個正在運(yùn)行,281 個正在休眠(繼續(xù)閱讀以找出為什么這并不總是準(zhǔn)確的),3 個停止*和 1 個僵尸*。
*?stopped——要強(qiáng)制一個進(jìn)程停止,比如 vi,按 'control-z' 來停止它。
*zombie——這是一個“子”進(jìn)程,沒有被它的“父”正確地殺死。這聽起來很可怕,但這就是架構(gòu)的讀取方式。
我們現(xiàn)在將繼續(xù)下一行,繼續(xù)閱讀以獲取更多信息。
CPU 指標(biāo)解釋從我們圖像中的第三行開始。在?摘要屏幕中的%cpu之后,我們看到“我們”。? 這意味著用戶 cpu 時間,或處理用戶程序所花費(fèi)的時間。在我們的第一個示例中,機(jī)器花費(fèi)了 2.7% 的時間在這上面。
你熟悉其他值嗎?
sy?— 系統(tǒng) cpu 時間,或與內(nèi)核執(zhí)行低級功能(例如調(diào)度任務(wù)和響應(yīng)中斷(見下文))相對于運(yùn)行應(yīng)用程序指令(例如讀取對象數(shù)組或進(jìn)行數(shù)學(xué)運(yùn)算)所花費(fèi)的時間。
ni——一個不錯的進(jìn)程,一個低優(yōu)先級的進(jìn)程。它不是資源消耗或匆忙。
id?— 什么閑置。
wa?— CPU 正在等待某事完成,然后才能再次啟動。
嗨——當(dāng)設(shè)備發(fā)送需要立即響應(yīng)的信息時,就會發(fā)生硬件中斷。
si?—軟件中斷是一回事,除了它們來自軟件。
st?—竊取時間被主機(jī)操作系統(tǒng)竊取或占用,這意味著該操作因任何原因而暫停。
Kib Mem?KiB?Swap——這些行顯示了正在使用和空閑的內(nèi)存,無論是在 RAM(隨機(jī)訪問或內(nèi)存芯片)中還是換出到磁盤虛擬內(nèi)存。當(dāng)然,交換空間可以在固態(tài)存儲上,以使頁面調(diào)入和調(diào)出(交換)運(yùn)行得更快。
為了進(jìn)一步說明,緩存的基本原理是指將某些東西從存儲移動到內(nèi)存。從緩存中檢索數(shù)據(jù)時沒有延遲,因?yàn)闆]有移動部件,如磁盤控制器和旋轉(zhuǎn)磁盤??梢钥焖僬{(diào)用可以放入高速緩存的數(shù)據(jù)記錄。專門用于緩存磁盤讀取和寫入的緩存部分稱為緩沖區(qū)。
僵尸進(jìn)程下面的屏幕截圖顯示了一個僵尸進(jìn)程。為了進(jìn)一步挖掘,您將安裝adacontrol,然后學(xué)習(xí)如何運(yùn)行ptree來打印進(jìn)程樹。
每個核心的 CPU 性能大多數(shù)計(jì)算機(jī)都有超過 1 個 CPU,因此 CPU 使用的百分比可能大于 100%。如果在運(yùn)行 top 時按1 ,它會按核心顯示 %CPU。此外,一個 CPU 可以有多個內(nèi)核,內(nèi)核是 CPU 的一個分區(qū),充當(dāng)它自己的 CPU)。
top的進(jìn)程級別頂部屏幕的下半部分按流程顯示指標(biāo)。
您可以使用光標(biāo)保持向上和向下移動(即,滾動進(jìn)程)和從左到右(即,如果它不能全部適合屏幕)。
此處顯示的默認(rèn)值為:
PID?— 進(jìn)程 ID。
用戶——用戶。
PR——調(diào)度優(yōu)先級。RT 表示實(shí)時。
NI——物超所值。如果 < 0 表示它具有更高的優(yōu)先級。
VIRT?— 虛擬內(nèi)存大小意味著代碼大小、共享庫和在內(nèi)存上創(chuàng)建的數(shù)據(jù),如對象。所以程序,它使用的子程序和程序消耗的內(nèi)存。
RES——使用的物理內(nèi)存。這反映在%mem計(jì)算中。
SHR?— 共享或可以與另一個進(jìn)程共享的空間。這并不意味著它現(xiàn)在是共享的。
S——你可能會注意到這里的所有任務(wù)都顯示為睡眠狀態(tài),這對于仔細(xì)閱讀的人會導(dǎo)致一個問題,如果他們正在睡眠,那么他們?nèi)绾问褂?cpu?根據(jù) top 的主頁,該值僅適用于 SMP(對稱多處理)處理器。當(dāng)我們在Intel Xeon上運(yùn)行它時,它會顯示正在運(yùn)行的進(jìn)程。當(dāng)我在 Intel Core I7 上運(yùn)行它時,它不會。
%CPU?— 目前使用的 CPU 百分比。
%MEM?— 使用的內(nèi)存百分比。
TIME?— 自任務(wù)啟動以來專門用于任務(wù)的時間。
COMMAND——這是問題的癥結(jié)所在,因?yàn)槟阆胫朗裁闯绦蛟谧鍪裁础?/p>為 Linux 服務(wù)器發(fā)送電子郵件警報
好消息是,當(dāng)閾值超過特定值時,您可以向自己發(fā)送電子郵件警報。壞消息是 Gmail 和其他電子郵件提供商可能會將其作為垃圾郵件阻止,因?yàn)槟?Linux 服務(wù)器不是廣泛使用的 smtp 服務(wù)器。因此,您可以嘗試改用 Google 的smtp.gmail.com服務(wù)器。您需要安裝mailutils或其他一些郵件程序?;蛘邔⑵溧]寄到您的公司電子郵件地址,如果垃圾郵件規(guī)則阻止您,請讓電子郵件管理員添加規(guī)則以將您的服務(wù)器列入白名單。
要監(jiān)視您的服務(wù)器并發(fā)送警報,您可以像這樣以批處理模式運(yùn)行 top ,然后 Grep 輸出您想要的任何文本:
頂部 -b -n 1|?grep %CPU
%Cpu(s): 6,3 us, 2,0 sy, 0,1 ni, 90,3 id, 1,2 wa, 0,0 hi, 0,0 si, 0,0 st
然后編寫一個 shell 腳本,或者更簡單的 Python 腳本,使用正則表達(dá)式解析該行,將其劃分為標(biāo)記。然后根據(jù)某個閾值檢查每個令牌。
網(wǎng)頁名稱:Linux監(jiān)控:專用服務(wù)器管理技巧
本文地址:http://jinyejixie.com/news13/308913.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容