一、檢視swap記憶體被哪些程序占用(輸出單位是mbyte)
for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/swap:/end' /proc/$i/smaps ;done 2>&1 |sort -k2nr |head
二、如何釋放swap記憶體
法1,重啟占用swap的程序
法2,關閉swap分割槽(有時候並不能檢視到哪些程序占用swap,則需要先關閉swap分割槽再開啟)
三、關閉swap分割槽注意事項和步驟
1,確保系統空閒記憶體大於swap已用記憶體
2,可以先清理記憶體cache,空出足夠記憶體(echo "1" > /proc/sys/vm/drop_caches)
3,關閉swap分割槽(swapoff -a),這個過程需要等待
4,swap分割槽釋放後,恢復swap分割槽(swapon -a)
5,恢復記憶體cache的設定(echo "0" > /proc/sys/vm/drop_caches)
原文出自:
end;
Linux記憶體機制以及手動釋放swap和記憶體
原文 一 什麼是linux的記憶體機制?程式在讀寫資料時記憶體到速度是硬碟速度的n倍 具體時間可檢視文章 記憶體比硬碟快多少?所以,希望所有資料的讀取和寫入都在記憶體完成,而記憶體是有限的,這樣就引出了物理記憶體與虛擬記憶體的概念。物理記憶體就是系統硬體提供的記憶體大小,是真正的記憶體,相對於物理記...
Linux記憶體機制以及手動釋放swap和記憶體
首先我們理一下概念 一 什麼是linux的記憶體機制?我們知道,直接從物理記憶體讀寫資料要比從硬碟讀寫資料要快的多,因此,我們希望所有資料的讀取和寫入都在記憶體完成,而記憶體是有限的,這樣就引出了物理記憶體與虛擬記憶體的概念。物理記憶體就是系統硬體提供的記憶體大小,是真正的記憶體,相對於物理記憶體,...
用swap方法強行釋放STL容器占用的記憶體
1.vector容器的記憶體自增長 與其他容器不同,其記憶體空間只會增長,不會減小。先來看看 c primer 中怎麼說 為了支援快速的隨機訪問,vector容器的元素以連續方式存放,每乙個元素都緊挨著前乙個元素儲存。設想一下,當vector新增乙個元素時,為了滿足連續存放這個特性,都需要重新分配空...