Linux 記憶體優化

2022-08-24 22:12:07 字數 1763 閱讀 1975

1.清理前記憶體使用情況 

free -m

2.開始清理  

echo 1 > /proc/sys/vm/drop_caches

3.清理後記憶體使用情況 

free -m

4.完成!

檢視記憶體條數命令:

dmidecode | grep -a16 "memory device$"

# sync

# echo 1 > /proc/sys/vm/drop_caches

echo 2 > /proc/sys/vm/drop_caches

echo 3 > /proc/sys/vm/drop_caches

cache釋放:

to free pagecache:

echo 1 > /proc/sys/vm/drop_caches

to free dentries and inodes:

echo 2 > /proc/sys/vm/drop_caches

to free pagecache, dentries and inodes:

echo 3 > /proc/sys/vm/drop_caches

說明,釋放前最好sync一下,防止丟資料。

因為linux的核心機制,一般情況下不需要特意去釋放已經使用的cache。這些cache起來的內容可以增加檔案以及的讀寫速度。

先說下free命令怎麼看記憶體

[root@yuyii proc]# free

total   used   free     shared buffers cached

mem: 515588 295452 220136 0      2060   64040

-/+ buffers/cache: 229352 286236

swap: 682720 112 682608

第二行描述應用程式的記憶體使用:其中第一行用全域性角度描述系統使用的記憶體狀況:

total——總物理記憶體

used——已使用記憶體,一般情況這個值會比較大,因為這個值包括了cache+應用程式使用的記憶體

free——完全未被使用的記憶體

shared——應用程式共享記憶體

buffers——快取,主要用於目錄方面,inode值等(ls大目錄可看到這個值增加)

cached——快取,用於已開啟的檔案

note:

total=used+free

used=buffers+cached (maybe add shared also)

前個值表示-buffers/cache——應用程式使用的記憶體大小,used減去快取值

後個值表示+buffers/cache——所有可**用程式使用的記憶體大小,free加上快取值

note:

-buffers/cache=used-buffers-cached

+buffers/cache=free+buffers+cached

第三行表示swap的使用:

used——已使用

free——未使用

手動執行sync命令(描述:sync 命令執行 sync 子例程。如果必須停止系統,則執行 sync 命令以確保檔案系統的完整性。sync 命令將所有未寫的系統緩衝區寫到磁碟中,包含已修改的 i-node、已延遲的塊 i/o 和讀寫對映檔案)

[root@server test]# echo 3 > /proc/sys/vm/drop_caches

[root@server test]# cat /proc/sys/vm/drop_caches

Linux效能優化 記憶體效能優化思路

目錄 記憶體效能指標 記憶體效能工具 如何快速分析記憶體的效能指標 系統記憶體使用情況 1.已用記憶體和剩餘記憶體 2.共享記憶體,通過tmpfs實現的,他的大小就是tmpfs使用的記憶體大小,這是乙個特殊的快取 3.可用記憶體是新程序可以使用的最大記憶體,包括剩餘記憶體和可 快取 4.快取包括,從...

linux 優化和記憶體屏障

一 設定屏障的原因 我們程式設計時,指令一般不會按照它們在源程式的順序執行。原因是計算機為了提高程式執行的效能,會對它進行優化,這種優化主要有兩種 1.編譯器的優化 為了提高系統的效能,編譯器在不影響邏輯的情況下會調整指令的順序。2.cpu執行的優化 為了提高流水線的效能,cpu的亂序執行可能會讓後...

Linux交換分割槽記憶體優化

一般預設值都是60 也就是說,你的內存在使用到100 60 40 的時候,就開始出現有交換分割槽的使用。大家知道,記憶體的速度會比磁碟快很多,這樣子會加大系統io,同時造的成大量頁的換進換出,嚴重影響系統的效能,所以我們在作業系統層面,要盡可能使用記憶體,對該引數進行調整。要想永久調整的話,需要將 ...