新聞中心

        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的區別。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 桓台县| 西平县| 沙洋县| 新绛县| 正安县| 亚东县| 天水市| 凤城市| 安泽县| 关岭| 涪陵区| 阜宁县| 襄垣县| 盐亭县| 平远县| 资溪县| 城步| 咸阳市| 浦江县| 甘孜| 东山县| 吉木萨尔县| 专栏| 阜宁县| 抚州市| 望城县| 天津市| 卢龙县| 女性| 西城区| 玉龙| 乳源| 遵义市| 长寿区| 绍兴县| 伊金霍洛旗| 游戏| 防城港市| 新乡市| 固阳县| 荣昌县|