亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號(hào)

對(duì)Unix服務(wù)器進(jìn)行性能監(jiān)測(cè)(上)
2008-09-11   51CTO

目前,由于UNIX操作系統(tǒng)的諸多優(yōu)點(diǎn),主流ISP基本采用UNIX作為提供服務(wù)的系統(tǒng)平臺(tái),其中Solaris占了其中的很大比例。在Solaris的維護(hù)中,經(jīng)常出現(xiàn)的是系統(tǒng)性能維護(hù)上的問(wèn)題,影響系統(tǒng)性能的因素有很多,本文從對(duì)系統(tǒng)的平均負(fù)荷、進(jìn)程監(jiān)視、CPU、I/O及內(nèi)存管理、網(wǎng)絡(luò)流量診斷等方面進(jìn)行了分析闡述,給出了在Solaris性能監(jiān)控上的一些方法和經(jīng)驗(yàn)。當(dāng)服務(wù)器系統(tǒng)性能突然低于平均應(yīng)有的情況,問(wèn)題可能來(lái)自在執(zhí)行的進(jìn)程、內(nèi)存的使用率、磁盤(pán)的性能和CPU 的壓力。在預(yù)算有限的時(shí)代,理解如何優(yōu)化系統(tǒng)性能比以往任何時(shí)候都重要。要實(shí)現(xiàn)它的前提是,你必須充分了解自己的服務(wù)器,從而找到真正的瓶頸所在。本文提供一些基礎(chǔ)的工具來(lái)辨別和處理一些性能問(wèn)題。工作過(guò)程是:首先查看整個(gè)系統(tǒng)的狀態(tài)(服務(wù)器整體)后是檢查特定的子系統(tǒng)(內(nèi)存、處理器、IO等)。本文以Solaris 10 為例。

一、系統(tǒng)負(fù)載監(jiān)測(cè)

1.使用uptime命令

使用uptime命令可以查看系統(tǒng)負(fù)載,系統(tǒng)平均負(fù)載被定義為在特定時(shí)間間隔內(nèi)運(yùn)行隊(duì)列中的平均進(jìn)程數(shù)目。如果一個(gè)進(jìn)程滿足以下條件則其就會(huì)位于運(yùn)行隊(duì)列中:沒(méi)有在等待I/O操作的結(jié)果、它沒(méi)有主動(dòng)進(jìn)入等待狀態(tài)(也就是沒(méi)有被調(diào)用、沒(méi)有被停止。

# uptime

9:51pm up 39 days, 4:43, 4 users, load average:1.02, 1.90, 1.44

上面命令顯示示最近1 分鐘內(nèi)系統(tǒng)的平均負(fù)載是1.02,在最近5分鐘內(nèi)系統(tǒng)的平均負(fù)載是1.90,在最近的15 分鐘內(nèi)系統(tǒng)的平均負(fù)載是1.44。一共四個(gè)用戶。通常來(lái)說(shuō)只要每個(gè)CPU的當(dāng)前活動(dòng)進(jìn)程數(shù)不小于1那幺系統(tǒng)的性能就是良好的,如果每個(gè)CPU的任務(wù)數(shù)大于5,那幺就表示這臺(tái)機(jī)器的性能有嚴(yán)重問(wèn)題。

2.使用cron命令進(jìn)行定時(shí)監(jiān)測(cè)系統(tǒng)負(fù)載:

cron是一個(gè)守護(hù)進(jìn)程,它提供定時(shí)器的功能,讓用戶在特定時(shí)間執(zhí)行命令,首先使用命令:“chkconfig -list|grep crond”查看該服務(wù)是否啟動(dòng),然后使用命令:

# crontab -e

此時(shí)打開(kāi)一個(gè)vi編輯器:輸入以下內(nèi)容:

#30 * * * * * uptime

存盤(pán)退出,這樣每隔30分鐘就記載其平均負(fù)載,這樣累計(jì)一天,我們就可以得到最近一天的平均負(fù)載。

二、Unix進(jìn)程運(yùn)行的監(jiān)測(cè)

1.使用ps命令

Unix系統(tǒng)提供了ps等察看進(jìn)程信息的系統(tǒng)調(diào)用,通過(guò)結(jié)合使用這些系統(tǒng)調(diào)用,我們可以清晰地了解進(jìn)程的運(yùn)行狀態(tài)以及存活情況,從而采取相應(yīng)的措施,來(lái)確保Unix系統(tǒng)的性能。它們是目前在Unix下最常見(jiàn)的進(jìn)程狀況查看工具,是隨 Unix版本發(fā)行的,安裝好系統(tǒng)之后,用戶就可以使用。 這里以ps命令為例,ps命令是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令。利用它可以確定有哪些進(jìn)程正在運(yùn)行及運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒(méi)有僵死、哪些進(jìn)程占用了過(guò)多的資源等。ps命令可以監(jiān)控后臺(tái)進(jìn)程的工作情況,因?yàn)楹笈_(tái)進(jìn)程是不和屏幕鍵盤(pán)這些標(biāo)準(zhǔn)輸入/輸出設(shè)備進(jìn)行通信的,如果需要檢測(cè)其情況,可以使用使用ps -el命令。ps-el|more命令輸出的例子。

 

1 ps 報(bào)告中字段的匯總:

字段

說(shuō)明

F

用數(shù)值表示目前進(jìn)程的狀態(tài)

S

用字符表示目前進(jìn)程的狀態(tài)

UID

進(jìn)程所有者的有效用戶 ID

PID

進(jìn)程 ID

PPID

父進(jìn)程 ID

C

用于調(diào)度的處理器使用率。使用 -c 選項(xiàng)時(shí),將不顯示此字段。

CLS

進(jìn)程所屬的調(diào)度類(lèi),例如實(shí)時(shí)、系統(tǒng)或分時(shí)。只有 -c 選項(xiàng)包括此字段。

PRI

內(nèi)核線程的調(diào)度優(yōu)先級(jí)。數(shù)值越大,表示優(yōu)先級(jí)越高。

NI

進(jìn)程的nice數(shù)值,該數(shù)值對(duì)其調(diào)度優(yōu)先級(jí)有影響。使進(jìn)程“更好”,意味著降低其優(yōu)先級(jí)。

ADDR

proc 結(jié)構(gòu)的地址。

SZ

進(jìn)程的虛擬地址大小。

WCHAN

進(jìn)程休眠的事件或鎖定的地址。

STIME

以小時(shí)、分鐘和秒表示的進(jìn)程開(kāi)始時(shí)間。

TTY

從中啟動(dòng)進(jìn)程或其父級(jí)的終端。問(wèn)號(hào)表示沒(méi)有控制終端。

TIME

進(jìn)程自開(kāi)始以來(lái)使用的 CPU 時(shí)間總量。

CMD

生成進(jìn)程的命令。

在進(jìn)行運(yùn)行時(shí),如果CPU占用增加而又不知道是哪一個(gè)進(jìn)程造成的情況。使用命令:

#ps -el | sort +4n

說(shuō)明:因?yàn)閏選項(xiàng)在第4列,所以sort 選4作參數(shù),+表示升序輸出結(jié)果。

2.使用進(jìn)程監(jiān)控工具

如果安裝了CDE環(huán)境,可以使用圖形界面進(jìn)程等系統(tǒng)信息,使用方法是單擊“前面板”上“工具”子面板上的“查找進(jìn)程”控件。 顯示“進(jìn)程管理器”主窗口。它立即對(duì)工作站進(jìn)行采樣,并顯示所有當(dāng)前進(jìn)程的采樣。如圖1 。

圖1 進(jìn)程管理器

圖1進(jìn)程管理器列表中的每個(gè)進(jìn)程項(xiàng)會(huì)以表1中解釋的那樣給出有用的信息:

表2進(jìn)程信息

列標(biāo)題

含義

ID

進(jìn)程 ID

名稱

進(jìn)程名

屬主

屬主名

CPU%

最近使用的 CPU 時(shí)間與同一時(shí)期中的可用時(shí)間之比,以百分?jǐn)?shù)表示

RAM

該進(jìn)程當(dāng)前所占用的 RAM 容量

交換

虛擬內(nèi)存中的總?cè)萘?/font>

啟動(dòng)于

實(shí)際啟動(dòng)時(shí)間(如果不是當(dāng)前時(shí)間,則為日期)

父進(jìn)程

父進(jìn)程的進(jìn)程 ID,即 “PPID

命令

執(zhí)行的實(shí)際 UNIX 命令(已截?cái)啵?/font>

1. 采樣周期的選擇

默認(rèn)情況下,“進(jìn)程管理器”對(duì)工作站進(jìn)行抽樣,并且每隔 30 秒更新一次顯示。要禁用/啟用連續(xù)采樣模式,請(qǐng)從“抽樣”菜單中選擇“停止/啟動(dòng)”。如果啟動(dòng)連續(xù)抽樣模式,則將在“采樣”菜單上看到“停止”菜單項(xiàng);否則,菜單項(xiàng)將為“啟動(dòng)”。要更改抽樣間隔,請(qǐng)?jiān)?ldquo;抽樣間隔”框中鍵入秒數(shù)(最大值為 604800,即 14 天)。按回車(chē)鍵以使新的抽樣頻率生效。要立即抽樣,請(qǐng)從“抽樣”菜單中選擇“現(xiàn)在”。“進(jìn)程管理器”進(jìn)行抽樣,然后更新顯示。

2. 更改顯示的排序順序

默認(rèn)情況下,“進(jìn)程管理器”按 CPU 使用的降序列出進(jìn)程項(xiàng)。因?yàn)?CPU 使用列 (CPU%) 上方的列標(biāo)題是凹陷的,而其它列標(biāo)題卻不是,所以可以知道這一點(diǎn)。要選擇用以對(duì)進(jìn)程項(xiàng)列表進(jìn)行排序的列,請(qǐng)單擊相關(guān)的列標(biāo)題或者從“查看”菜單中選擇列名稱。“進(jìn)程管理器”將進(jìn)程項(xiàng)的列表排序,并按照新順序顯示它們。要顛倒任何一列的排序順序(例如,要按 RAM 使用的升序進(jìn)行排列),請(qǐng)單擊凹陷的列標(biāo)題按鈕。列標(biāo)題區(qū)將變?yōu)楹谏⑶乙韵喾吹捻樞驅(qū)︼@示進(jìn)行排序。圖2是按照RAM使用的升序的排序ps進(jìn)程。
圖2按照RAM使用的升序的排序ps進(jìn)程。

圖2按照RAM使用的升序的排序ps進(jìn)程

三、內(nèi)存使用情況監(jiān)測(cè)

內(nèi)存是Unix內(nèi)核所管理的最重要的資源之一。內(nèi)存管理系統(tǒng)是操作系統(tǒng)中最為重要的部分,因?yàn)橄到y(tǒng)的物理內(nèi)存總是少于系統(tǒng)所需要的內(nèi)存數(shù)量。虛擬內(nèi)存就是為了克服這個(gè)矛盾而采用的策略。系統(tǒng)的虛擬內(nèi)存通過(guò)在各個(gè)進(jìn)程之間共享內(nèi)存而使系統(tǒng)看起來(lái)有多于實(shí)際內(nèi)存的內(nèi)存容量。Unix支持虛擬內(nèi)存, 就是使用磁盤(pán)作為RAM的擴(kuò)展,使可用內(nèi)存相應(yīng)地有效擴(kuò)大。核心把當(dāng)前不用的內(nèi)存塊存到硬盤(pán),騰出內(nèi)存給其他目的。當(dāng)原來(lái)的內(nèi)容又要使用時(shí),再讀回內(nèi)存。

如果物理內(nèi)存太少,就會(huì)增加交換的次數(shù),性能就會(huì)減低。前面使用ps –el命令監(jiān)測(cè)進(jìn)程,其SZ字段就是檢查使用需擬內(nèi)存的大小。

(1)使甩vmstat命令監(jiān)視虛擬內(nèi)存使用情況:

vmstat是Virtual Meomory Statistics(虛擬內(nèi)存統(tǒng)計(jì))的縮寫(xiě),可對(duì)操作系統(tǒng)的虛擬內(nèi)存、進(jìn)程、CPU活動(dòng)進(jìn)行監(jiān)視。它是對(duì)系統(tǒng)的整體情況進(jìn)行統(tǒng)計(jì),不足之處是無(wú)法對(duì)某個(gè)進(jìn)程進(jìn)行深入分析。通常使用vmstat 5 5(表示在5秒時(shí)間內(nèi)進(jìn)行5次采樣)命令測(cè)試。將得到一個(gè)數(shù)據(jù)匯總它可以反映真正的系統(tǒng)情況。

 

類(lèi)別

字段名

說(shuō)明

procs

進(jìn)程

報(bào)告以下內(nèi)容:

r

分發(fā)隊(duì)列中的內(nèi)核線程數(shù)

b

正在等待資源的阻塞內(nèi)核線程數(shù)

w

正在等待處理中的資源完成的換出 LWP 數(shù)

memory

內(nèi)存

報(bào)告實(shí)際內(nèi)存和虛擬內(nèi)存的使用情況:

swap

可用交換空間

free

可用列表的大小

page

分頁(yè)

以秒為單位報(bào)告頁(yè)面錯(cuò)誤和分頁(yè)活動(dòng):

 

re

回收的頁(yè)面

mf

次要錯(cuò)誤和主要錯(cuò)誤

pi

頁(yè)入的千字節(jié)數(shù)

po

頁(yè)出的千字節(jié)數(shù)

fr

釋放的千字節(jié)數(shù)

de

最近換入的進(jìn)程所需的預(yù)計(jì)內(nèi)存

sr

page 守護(hù)程序掃描的當(dāng)前未使用的頁(yè)數(shù)。如果 sr 不等于零,則 page 守護(hù)程序一直在運(yùn)行。

disk

磁盤(pán)

報(bào)告每秒的磁盤(pán)操作數(shù),最多顯示四個(gè)磁盤(pán)中的數(shù)據(jù)

faults

中斷

報(bào)告每秒的陷阱/中斷速率:

in

每秒的中斷次數(shù)

sy

每秒的系統(tǒng)調(diào)用數(shù)

cs

CPU 上下文切換速率

cpu

中央處理器

報(bào)告 CPU 使用時(shí)間:

us

用戶時(shí)間

sy

系統(tǒng)時(shí)間

id

空閑時(shí)間

有關(guān)此命令的更多詳細(xì)說(shuō)明,請(qǐng)參見(jiàn) vmstat 手冊(cè)頁(yè)。

熱詞搜索:

上一篇:圖解SMC下Solaris用戶圖形管理(下)
下一篇:對(duì)Unix服務(wù)器進(jìn)行性能監(jiān)測(cè)(中)

分享到:           收藏