新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 詳細分析Linux操作系統的內存

        詳細分析Linux操作系統的內存

        作者: 時間:2016-10-08 來源:網絡 收藏

        前言:在Linux上不像在Windows上看內存那樣方便,而且還有Swap這個新的概念,所以知道如何來看Linux內存還是有一定意義的.

        本文引用地址:http://www.104case.com/article/201610/305317.htm

        在Linux下查看內存我們一般用command free

        [root@nonamelinux ~]# free

        total used free shared buffers cached

        Mem: 386024 377116 8908 0 21280 155468

        -/+ buffers/cache: 200368 185656

        Swap: 393552 0 393552

        下面是對這些數值的解釋:

        第二行(mem):

        total:總計物理內存的大小。

        used:已使用多大。

        free:可用有多少。

        Shared:多個進程共享的內存總額。

        Buffers/cached:磁盤緩存的大小。

        第三行(-/+ buffers/cached):

        used:已使用多大。

        free:可用有多少。

        第四行就不多解釋了。

        區別:

        第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別。

        這兩個的區別在于使用的角度來看,第一行是從OS的角度來看,因為對于OS,buffers/cached 都是屬于被使用,所以他的可用內存是8908KB,已用內存是377116KB,其中包括,內核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

        第三行所指的是從應用程序角度來看,對于應用程序來說,buffers/cached 是等于可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。

        所以從應用程序的角度來說,可用內存=系統free memory+buffers+cached.

        如上例:

        185656=8908+21280+155468

        接下來解釋什么時候內存會被交換,以及按什么方交換。

        當可用內存少于額定值的時候,就會開會進行交換.

        如何看額定值(RHEL4.0):

        #cat /proc/meminfo

        交換將通過三個途徑來減少系統中使用的物理頁面的個數:

        1.減少緩沖與頁面cache的大小,

        2.將系統V類型的內存頁面交換出去,

        3.換出或者丟棄頁面。(Application 占用的內存頁,也就是物理內存不足)。

        事實上,少量地使用swap是不是影響到系統性能的。

        下面是buffers與cached的區別。

        buffers是指用來給塊設備做的緩沖大小,他只記錄文件系統的metadata以及 tracking in-flight pages.

        cached是用來給文件做緩沖。

        那就是說:buffers是用來存儲,目錄里面有什么內容,權限等等。

        而cached直接用來記憶我們打開的文件,如果你想知道他是不是真的生效,你可以試一下,先后執行兩次命令#man X ,你就可以明顯的感覺到第二次的開打的速度快很多。

        實驗:在一臺沒有什么應用的機器上做會看得比較明顯。記得實驗只能做一次,如果想多做請換一個文件名。

        #free

        #man X

        #free

        #man X

        #free

        你可以先后比較一下free后顯示buffers的大小。

        另一個實驗:

        #free

        #ls /dev

        #free

        你比較一下兩個的大小,當然這個buffers隨時都在增加,但你有ls過的話,增加的速度會變得快,這個就是buffers ached的區別。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 含山县| 防城港市| 安义县| 综艺| 兰西县| 肃南| 宣威市| 漳平市| 永兴县| 永济市| 南通市| 玛纳斯县| 石城县| 邛崃市| 都安| 伽师县| 城步| 武山县| 鄂温| 惠州市| 宿迁市| 通化市| 辛集市| 上林县| 集贤县| 泸定县| 望奎县| 丹巴县| 菏泽市| 庆阳市| 石阡县| 彩票| 闽清县| 西峡县| 融水| 乐亭县| 大洼县| 郴州市| 饶平县| 定西市| 布拖县|