亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

Linux服務(wù)器系統(tǒng)內(nèi)存監(jiān)控方法詳解

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

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

(1)實時監(jiān)控內(nèi)存使用情況

在命令行使用“Free”命令可以監(jiān)控內(nèi)存使用情況


#freetotalusedfreesharedbufferscachedMem:25602419228463740010676101004-/+buffers/cache:80604175420Swap:5220720522072
上面給出了一個256兆的RAM和512兆交換空間的系統(tǒng)情況。第三行輸出(Mem:)顯示物理內(nèi)存。total列不顯示核心使用的物理內(nèi)存(通常大約1MB)。used列顯示被使用的內(nèi)存總額(第二行不計緩沖)。free列顯示全部沒使用的內(nèi)存。Shared列顯示多個進程共享的內(nèi)存總額。Buffers列顯示磁盤緩存的當(dāng)前大小。第五行(Swap:)對對換空間,顯示的信息類似上面。如果這行為全0,那么沒使用對換空間。在缺省的狀態(tài)下,free命令以千字節(jié)(也就是1024字節(jié)為單位)來顯示內(nèi)存使用情況?梢允褂—h參數(shù)以字節(jié)為單位顯示內(nèi)存使用情況,或者可以使用—m參數(shù)以兆字節(jié)為單位顯示內(nèi)存使用情況。還可以通過—s參數(shù)使用命令來不間斷地監(jiān)視內(nèi)存使用情況:

#free–b–s2

這個命令將會在終端窗口中連續(xù)不斷地報告內(nèi)存的使用情況,每2秒鐘更新一次。

(2)組合watch與free命令用來實時監(jiān)控內(nèi)存使用情況:


#watch-n2-dfreeEvery2.0s:freeFriJul606:06:122007totalusedfreesharedbufferscachedMem:233356218616147400556064784-/+buffers/cache:14827285084Swap:6225846656615928
watch命令會每兩秒執(zhí)行free一次,執(zhí)行前會清除屏幕,在同樣位置顯示數(shù)據(jù)。因為watch命令不會卷動屏幕,所以適合出長時間的監(jiān)測內(nèi)存使用率。可以使用-n選項,控制執(zhí)行的頻率;也可以利用-d選項,讓命令將每次不同的地方顯示出來。Watch命令會一直執(zhí)行,直到您按下[Ctrl]-[C]為止。

二、虛擬內(nèi)存的概念

(1)Linux虛擬內(nèi)存實現(xiàn)機制

Linux虛擬內(nèi)存的實現(xiàn)需要六種機制的支持:地址映射機制、內(nèi)存分配回收機制、緩存和刷新機制、請求頁機制、交換機制、內(nèi)存共享機制。

首先內(nèi)存管理程序通過映射機制把用戶程序的邏輯地址映射到物理地址,在用戶程序運行時如果發(fā)現(xiàn)程序中要用的虛地址沒有對應(yīng)的物理內(nèi)存時,就發(fā)出了請求頁要求;如果有空閑的內(nèi)存可供分配,就請求分配內(nèi)存(于是用到了內(nèi)存的分配和回收),并把正在使用的物理頁記錄在緩存中(使用了緩存機制)。如果沒有足夠的內(nèi)存可供分配,那么就調(diào)用交換機制,騰出一部分內(nèi)存。另外在地址映射中要通過TLB(翻譯后援存儲器)來尋找物理頁;交換機制中也要用到交換緩存,并且把物理頁內(nèi)容交換到交換文件中后也要修改頁表來映射文件地址。

(2)虛擬內(nèi)存容量設(shè)定

也許有人告訴你,應(yīng)該分配2倍于物理內(nèi)存的虛擬內(nèi)存,但這是個不固定的規(guī)律。如果你的物理保存比較小,可以這樣設(shè)定。如果你有1G物理內(nèi)存或更多的話,可以縮小一下虛擬內(nèi)存。Linux會把大量的內(nèi)存用做Cache的,但在資源緊張時回收回.。你只要看到swap為0或者很小就可以放心了,因為內(nèi)存放著不用才是最大的浪費。

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

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


#vmstat55procs-----------memory-------------swap-------io------system------cpu----rbswpdfreebuffcachesisobiboincsussyidwa1062792346091168809263018989106156917285420062792340091248809200014884434414810006279234009132880920001487742441581010627923400914088092000148684186207401062792340091488809200015847400925670
vmstat命令輸出分成六個部分:

(1)進程procs:

r:在運行隊列中等待的進程數(shù)。

b:在等待io的進程數(shù)。

(2)內(nèi)存memoy:

swpd:現(xiàn)時可用的交換內(nèi)存(單位KB)。

free:空閑的內(nèi)存(單位KB)。

buff:緩沖去中的內(nèi)存數(shù)(單位:KB)。

cache:被用來做為高速緩存的內(nèi)存數(shù)(單位:KB)。

(3)swap交換頁面

si:從磁盤交換到內(nèi)存的交換頁數(shù)量,單位:KB/秒。

so:從內(nèi)存交換到磁盤的交換頁數(shù)量,單位:KB/秒。

(4)io塊設(shè)備:

bi:發(fā)送到塊設(shè)備的塊數(shù),單位:塊/秒。

bo:從塊設(shè)備接收到的塊數(shù),單位:塊/秒。

(5)system系統(tǒng):

in:每秒的中斷數(shù),包括時鐘中斷。

cs:每秒的環(huán)境(上下文)切換次數(shù)。

(6)cpu中央處理器:

cs:用戶進程使用的時間。以百分比表示。

sy:系統(tǒng)進程使用的時間。以百分比表示。

id:中央處理器的空閑時間。以百分比表示。

如果r經(jīng)常大于4,且id經(jīng)常小于40,表示中央處理器的負荷很重。如果bi,bo長期不等于0,表示物理內(nèi)存容量太小。


四、Linux服務(wù)器的內(nèi)存泄露和回收內(nèi)存的方法

1、內(nèi)存泄漏的定義:

一般我們常說的內(nèi)存泄漏是指堆內(nèi)存的泄漏。堆內(nèi)存是指程序從堆中分配的,大小任意的(內(nèi)存塊的大小可以在程序運行期決定),使用完后必須顯示釋放的內(nèi)存。應(yīng)用程序一般使用malloc,realloc,new等函數(shù)從堆中分配到一塊內(nèi)存,使用完后,程序必須負責(zé)相應(yīng)的調(diào)用free或delete釋放該內(nèi)存塊,否則,這塊內(nèi)存就不能被再次使用,我們就說這塊內(nèi)存泄漏了。

2、內(nèi)存泄露的危害

從用戶使用程序的角度來看,內(nèi)存泄漏本身不會產(chǎn)生什么危害,作為一般的用戶,根本感覺不到內(nèi)存泄漏的存在。真正有危害的是內(nèi)存泄漏的堆積,這會最終消耗盡系統(tǒng)所有的內(nèi)存。從這個角度來說,一次性內(nèi)存泄漏并沒有什么危害,因為它不會堆積,而隱式內(nèi)存泄漏危害性則非常大,因為較之于常發(fā)性和偶發(fā)性內(nèi)存泄漏它更難被檢測到。存在內(nèi)存泄漏問題的程序除了會占用更多的內(nèi)存外,還會使程序的性能急劇下降。對于服務(wù)器而言,如果出現(xiàn)這種情況,即使系統(tǒng)不崩潰,也會嚴(yán)重影響使用。


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線