記憶體交換區大小很重要

2021-05-23 01:49:46 字數 496 閱讀 7570

在sun的記憶體模型中,一般會有這麼幾個區:

eden區滿了之後,會觸發一次young gc,young gc會將eden區,s0(或s1)釋放不掉的物件,放入另外乙個空閒的交換區s1(或s0)。即觸發一次s0與s1的交換。如果一次young gc後空閒的交換區不足以放下全部的活的物件,剩餘的物件會被直接丟進old區,所以關注每次young gc後old區記憶體的增長,以及交換區的使用率至關重要。交換區設定的過小,或者虛擬機器動態調整導致交換區長時間過小,都會造成old 區記憶體的持續增長,直至頻繁的full gc。sun建議,交換區的使用最好不要超過50%。

那如何限制交換區的大小呢,sun提供了如下的引數進行配置:

-xx:survivorratio=6  -xx:-useadaptivesizepolicy

其中 -xx:survivorratio=6 設定eden:survivor的比例為6:1,預設值為8:1,-xx:-useadaptivesizepolicy 禁止jvm對 eden:s0:s1 進行調整

修改linux swap交換區大小

swap交換區是linux的虛擬記憶體技術,為了有效的提高物理記憶體的利用率,會在硬碟開闢一塊空間用處堆放不經常使用的記憶體資料。而有時候虛擬記憶體滿了會導致部分程式卡死 雖然不至於系統崩潰。修改交換區的方法 進入修改交換區空間大小的檔案 sudo vi etc dphys swapfile 樹莓派...

物理記憶體 頁面檔案 交換區和虛擬記憶體

物理記憶體,顧名思義,就是實實在在存在的那個東西,插在你電腦主機板上的記憶體條所提供的空間。頁面檔案,這個是硬碟上的一塊空間,在windows下表現為乙個檔案。這個頁面檔案存在的意義就是在物理記憶體被占用滿以後,將物理記憶體中的東西移動到硬碟上的這個空間,騰出物理記憶體給需要的應用程式來使用。交換區...

Linux 交換區建立

swap 交換空間 的大小建議設定和你的實際物理記憶體一樣大,如你的記憶體是8g的,則可將下面的count的值設為8192 當然這只是參考值,你可根據你系統執行的情況自行調整 sudo dd if dev zero of root swapfile bs 1m count 4096 增加4g交換空間...