Linux監(jiān)控:專用服務(wù)器管理技巧

2023-12-16    分類: 網(wǎng)站建設(shè)

當(dāng)您的專用服務(wù)器上的應(yīng)用程序出現(xiàn)問題時(shí),系統(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 是一個(gè)命令行,可以幫助您解析處理器活動。您將實(shí)時(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)允許一個(gè)程序運(yùn)行多個(gè)任務(wù)。這樣,例如,Chrome 可以在您查看另一個(gè)選項(xiàng)卡時(shí)下載一個(gè)頁面,并同時(shí)響應(yīng)諸如單擊滾動條之類的事件。一個(gè)進(jìn)程可以產(chǎn)生許多線程。當(dāng)一個(gè)進(jìn)程停止并等待另一個(gè)進(jìn)程完成時(shí),當(dāng)它們陷入僵局時(shí),它們本身可能會出現(xiàn)性能問題。

在?任務(wù)行中,我們總共有 286 個(gè):1 個(gè)正在運(yùn)行,281 個(gè)正在休眠(繼續(xù)閱讀以找出為什么這并不總是準(zhǔn)確的),3 個(gè)停止*和 1 個(gè)僵尸*。

*?stopped——要強(qiáng)制一個(gè)進(jìn)程停止,比如 vi,按 'control-z' 來停止它。

*zombie——這是一個(gè)“子”進(jìn)程,沒有被它的“父”正確地殺死。這聽起來很可怕,但這就是架構(gòu)的讀取方式。

我們現(xiàn)在將繼續(xù)下一行,繼續(xù)閱讀以獲取更多信息。

CPU 指標(biāo)解釋

從我們圖像中的第三行開始。在?摘要屏幕中的%cpu之后,我們看到“我們”。? 這意味著用戶 cpu 時(shí)間,或處理用戶程序所花費(fèi)的時(shí)間。在我們的第一個(gè)示例中,機(jī)器花費(fèi)了 2.7% 的時(shí)間在這上面。

你熟悉其他值嗎?

sy?— 系統(tǒng) cpu 時(shí)間,或與內(nèi)核執(zhí)行低級功能(例如調(diào)度任務(wù)和響應(yīng)中斷(見下文))相對于運(yùn)行應(yīng)用程序指令(例如讀取對象數(shù)組或進(jìn)行數(shù)學(xué)運(yùn)算)所花費(fèi)的時(shí)間。

ni——一個(gè)不錯(cuò)的進(jìn)程,一個(gè)低優(yōu)先級的進(jìn)程。它不是資源消耗或匆忙。

id?— 什么閑置。

wa?— CPU 正在等待某事完成,然后才能再次啟動。

嗨——當(dāng)設(shè)備發(fā)送需要立即響應(yīng)的信息時(shí),就會發(fā)生硬件中斷。

si?—軟件中斷是一回事,除了它們來自軟件。

st?—竊取時(shí)間被主機(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ù)時(shí)沒有延遲,因?yàn)闆]有移動部件,如磁盤控制器和旋轉(zhuǎn)磁盤??梢钥焖僬{(diào)用可以放入高速緩存的數(shù)據(jù)記錄。專門用于緩存磁盤讀取和寫入的緩存部分稱為緩沖區(qū)。

僵尸進(jìn)程

下面的屏幕截圖顯示了一個(gè)僵尸進(jìn)程。為了進(jìn)一步挖掘,您將安裝adacontrol,然后學(xué)習(xí)如何運(yùn)行ptree來打印進(jìn)程樹。

每個(gè)核心的 CPU 性能

大多數(shù)計(jì)算機(jī)都有超過 1 個(gè) CPU,因此 CPU 使用的百分比可能大于 100%。如果在運(yùn)行 top 時(shí)按1 ,它會按核心顯示 %CPU。此外,一個(gè) CPU 可以有多個(gè)內(nèi)核,內(nèi)核是 CPU 的一個(gè)分區(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í)時(shí)。

NI——物超所值。如果 < 0 表示它具有更高的優(yōu)先級。

VIRT?— 虛擬內(nèi)存大小意味著代碼大小、共享庫和在內(nèi)存上創(chuàng)建的數(shù)據(jù),如對象。所以程序,它使用的子程序和程序消耗的內(nèi)存。

RES——使用的物理內(nèi)存。這反映在%mem計(jì)算中。

SHR?— 共享或可以與另一個(gè)進(jìn)程共享的空間。這并不意味著它現(xiàn)在是共享的。

S——你可能會注意到這里的所有任務(wù)都顯示為睡眠狀態(tài),這對于仔細(xì)閱讀的人會導(dǎo)致一個(gè)問題,如果他們正在睡眠,那么他們?nèi)绾问褂?cpu?根據(jù) top 的主頁,該值僅適用于 SMP(對稱多處理)處理器。當(dāng)我們在Intel Xeon上運(yùn)行它時(shí),它會顯示正在運(yùn)行的進(jìn)程。當(dāng)我在 Intel Core I7 上運(yùn)行它時(shí),它不會。

%CPU?— 目前使用的 CPU 百分比。

%MEM?— 使用的內(nèi)存百分比。

TIME?— 自任務(wù)啟動以來專門用于任務(wù)的時(shí)間。

COMMAND——這是問題的癥結(jié)所在,因?yàn)槟阆胫朗裁闯绦蛟谧鍪裁础?/p>為 Linux 服務(wù)器發(fā)送電子郵件警報(bào)

好消息是,當(dāng)閾值超過特定值時(shí),您可以向自己發(fā)送電子郵件警報(bào)。壞消息是 Gmail 和其他電子郵件提供商可能會將其作為垃圾郵件阻止,因?yàn)槟?Linux 服務(wù)器不是廣泛使用的 smtp 服務(wù)器。因此,您可以嘗試改用 Google 的smtp.gmail.com服務(wù)器。您需要安裝mailutils或其他一些郵件程序。或者將其郵寄到您的公司電子郵件地址,如果垃圾郵件規(guī)則阻止您,請讓電子郵件管理員添加規(guī)則以將您的服務(wù)器列入白名單。

要監(jiān)視您的服務(wù)器并發(fā)送警報(bào),您可以像這樣以批處理模式運(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

然后編寫一個(gè) shell 腳本,或者更簡單的 Python 腳本,使用正則表達(dá)式解析該行,將其劃分為標(biāo)記。然后根據(jù)某個(gè)閾值檢查每個(gè)令牌。

網(wǎng)頁名稱:Linux監(jiān)控:專用服務(wù)器管理技巧
本文地址:http://www.bm7419.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)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)