linux結束程式記憶體不會馬上釋放的解決方法

2021-09-13 09:38:01 字數 369 閱讀 4403

linux下頻繁讀寫檔案時,記憶體資源被耗盡,當程式結束後,記憶體不會釋放需要清除快取。linux快取有dentry,buffer cache,page cache。

注:dentry用來加速檔案路徑名到inode的轉換;buffer cache加速磁碟塊的讀寫;page cache加速inode的讀寫。縮短io呼叫時間。

釋放page cahce

echo 1 > /proc/sys/vm/drop_cache

釋放dentry和inode

echo 2 > /proc/sys/vm/drop_cache

釋放page cache,dentry,inode

echo 3 > /proc/sys/vm/drop_cache

linux程式記憶體資訊pmap

pmap lddstace 要熟悉的幾個除錯命令!兩個檢視記憶體的檔案 cat proc pid stat awk cat proc pid status grep i vmsize 其中,關於記憶體的是 vsz 和 rss 這兩個概念 man ps 看看它們的含義 觀察到系統中的指定程序的位址空間...

Linux 程式的記憶體分配

可以通過命令objdump t bgw grep bss wc l檢視bss個數,objdump t bgw grep data wc l檢視data個數 其中,bss段 bss segment 通常是指用來存放程式中未初始化的全域性變數的一塊記憶體區域 data段用於儲存初始化的全域性變數 rod...

C程式記憶體分配 Linux程式設計

3.1.1 c程式記憶體分配 1 c 程式結構 下面列出 c 語言可執行程式的基本情況 linux 2.6 環境 gcc4.0 root localhost ctest ls test l test 為乙個可執行程式 rwxr xr x 1 root root 4868 mar 26 08 10 t...