linux下監(jiān)控服務(wù)器有哪些?
linux下監(jiān)控服務(wù)器有哪些??jī)?nèi)存是Linux內(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)存容量。Linux支持虛擬內(nèi)存, 就是使用磁盤作為RAM的擴(kuò)展,使可用內(nèi)存相應(yīng)地有效擴(kuò)大。核心把當(dāng)前不用的內(nèi)存塊存到硬盤,騰出內(nèi)存給其他目的。當(dāng)原來(lái)的內(nèi)容又要使用時(shí),再讀回內(nèi)存。 一、內(nèi)存使用情況監(jiān)測(cè) (1)實(shí)時(shí)監(jiān)控內(nèi)存使用情況 在命令行使用“Free”命令可以監(jiān)控內(nèi)存使用情況#free total used free shared buffers cachedMem: 256024 192284 63740 0 10676 101004-/+ buffers/cache: 80604 175420Swap: 522072 0 522072 上面給出了一個(gè)256兆的RAM和512兆交換空間的系統(tǒng)情況。第三行輸出(Mem:)顯示物理內(nèi)存。total列不顯示核心使用的物理內(nèi)存(通常大約1MB)。used列顯示被使用的內(nèi)存總額(第二行不計(jì)緩沖)。 free列顯示全部沒(méi)使用的內(nèi)存。Shared列顯示多個(gè)進(jìn)程共享的內(nèi)存總額。Buffers列顯示磁盤緩存的當(dāng)前大小。第五行(Swap:)對(duì)對(duì)換空間,顯示的信息類似上面。如果這行為全0,那么沒(méi)使用對(duì)換空間。在缺省的狀態(tài)下,free命令以千字節(jié)(也就是1024字節(jié)為單位)來(lái)顯示內(nèi)存使用情況??梢允褂谩猦參數(shù)以字節(jié)為單位顯示內(nèi)存使用情況,或者可以使用—m參數(shù)以兆字節(jié)為單位顯示內(nèi)存使用情況。還可以通過(guò)—s參數(shù)使用命令來(lái)不間斷地監(jiān)視內(nèi)存使用情況: #free –b –s2 這個(gè)命令將會(huì)在終端窗口中連續(xù)不斷地報(bào)告內(nèi)存的使用情況,每2秒鐘更新一次。 (2)組合watch與 free命令用來(lái)實(shí)時(shí)監(jiān)控內(nèi)存使用情況:#watch -n 2 -d freeEvery 2.0s: free Fri Jul 6 06:06:12 2007 total used free shared buffers cachedMem: 233356 218616 14740 0 5560 64784-/+ buffers/cache: 148272 85084Swap: 622584 6656 615928 watch命令會(huì)每?jī)擅雸?zhí)行 free一次,執(zhí)行前會(huì)清除屏幕,在同樣位置顯示數(shù)據(jù)。因?yàn)?watch命令不會(huì)卷動(dòng)屏幕,所以適合出長(zhǎng)時(shí)間的監(jiān)測(cè)內(nèi)存使用率??梢允褂?-n選項(xiàng),控制執(zhí)行的頻率;也可以利用 -d選項(xiàng),讓命令將每次不同的地方顯示出來(lái)。Watch命令會(huì)一直執(zhí)行,直到您按下 [Ctrl]-[C] 為止。 二、虛擬內(nèi)存的概念 (1)Linux虛擬內(nèi)存實(shí)現(xiàn)機(jī)制 Linux虛擬內(nèi)存的實(shí)現(xiàn)需要六種機(jī)制的支持:地址映射機(jī)制、內(nèi)存分配回收機(jī)制、緩存和刷新機(jī)制、請(qǐng)求頁(yè)機(jī)制、交換機(jī)制、內(nèi)存共享機(jī)制。 首先內(nèi)存管理程序通過(guò)映射機(jī)制把用戶程序的邏輯地址映射到物理地址,在用戶程序運(yùn)行時(shí)如果發(fā)現(xiàn)程序中要用的虛地址沒(méi)有對(duì)應(yīng)的物理內(nèi)存時(shí),就發(fā)出了請(qǐng)求頁(yè)要求;如果有空閑的內(nèi)存可供分配,就請(qǐng)求分配內(nèi)存(于是用到了內(nèi)存的分配和回收),并把正在使用的物理頁(yè)記錄在緩存中(使用了緩存機(jī)制)。 如果沒(méi)有足夠的內(nèi)存可供分配,那么就調(diào)用交換機(jī)制,騰出一部分內(nèi)存。另外在地址映射中要通過(guò)TLB(翻譯后援存儲(chǔ)器)來(lái)尋找物理頁(yè);交換機(jī)制中也要用到交換緩存,并且把物理頁(yè)內(nèi)容交換到交換文件中后也要修改頁(yè)表來(lái)映射文件地址。 (2)虛擬內(nèi)存容量設(shè)定 也許有人告訴你,應(yīng)該分配2倍于物理內(nèi)存的虛擬內(nèi)存,但這是個(gè)不固定的規(guī)律。如果你的物理保存比較小,可以這樣設(shè)定。如果你有1G物理內(nèi)存或更多的話,可以縮小一下虛擬內(nèi)存。Linux會(huì)把大量的內(nèi)存用做Cache的,但在資源緊張時(shí)回收回.。你只要看到swap為0或者很小就可以放心了,因?yàn)閮?nèi)存放著不用才是最大的浪費(fèi)。