<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 初學(xué)者如何熟悉Linux內(nèi)存管理機制

          初學(xué)者如何熟悉Linux內(nèi)存管理機制

          作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

          圖1 Linux虛擬內(nèi)存實現(xiàn)原理

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

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

          內(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)存,使用完后,程序必須負責相應(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)不崩潰,也會嚴重影響使用。

          3.內(nèi)存泄露的檢測和回收

          對于內(nèi)存溢出之類的麻煩,大家可能在編寫指針比較多的復(fù)雜程序時就會遇到。在Linux或Unix下,C和C++語言是最常使用的工具。但是C++程序缺乏相應(yīng)的手段來檢測內(nèi)存信息,只能使用top指令觀察進程的動態(tài)內(nèi)存總額。而且程序退出時,我們無法獲知任何內(nèi)存泄漏信息。

          (1)使用Linux命令回收內(nèi)存,可以使用ps、kill兩個命令檢測內(nèi)存使用情況和進行回收。在使用超級用戶權(quán)限時使用命令“ps”,它會列出所有正在運行的程序名稱和對應(yīng)的進程號(PID)。kill命令的工作原理是向Linux操作系統(tǒng)的內(nèi)核送出一個系統(tǒng)操作信號和程序的進程號(PID)。

          下面舉例說明,為了高效率回收內(nèi)存可以使用命令ps參數(shù)v: #ps v

          PID TTY   STAT  TIME MAJFL  TRS  DRS RSS %MEM COMMAND

          2530 vc/1   S   0:00  104   6 1325 408 0.1 /sbin/mingetty tty1

          2531 vc/2   S   0:00  104   6 1325 408 0.1 /sbin/mingetty tty2

          2532 vc/3   S   0:00  104   6 1325 408 0.1 /sbin/mingetty tty3

          2533 vc/4   S   0:00  104   6 1325 408 0.1 /sbin/mingetty tty4

          2534 vc/5   S   0:00  104   6 1325 408 0.1 /sbin/mingetty tty5

          2535 vc/6   S   0:00  104   6 1325 408 0.1 /sbin/mingetty tty6

          2639 pts/1  S   0:00  545  16 2643 968 0.3 [su]

          2684 pts/1  S   0:00  361  5


          上一頁 1 2 下一頁

          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();