Linux/CentOS 解決buff/cache居高不下問題


問題描述

測試機上的數據庫老是鏈接不上,提示數據庫的連接數太多,沒法連上。查了下機子的狀況,發現buff/cache一直居高不下,整整占了3 40%的內存。

解決思路

當在Linux下頻繁存取文件后,物理內存會很快被用光,當程序結束后,內存不會被正常釋放,而是一直作為caching。

解決方案

注意:執行以下操作,可能會影響數據庫服務(重啟即可恢復正常運行)。建議最好做好數據庫的備份。

手動執行以下shell命令,手動清除緩存即可。

#清除pagecache
echo 1 > /proc/sys/vm/drop_caches

#清除回收slab分配器中的對象(包括目錄項緩存和inode緩存)。
#slab分配器是內核中管理內存的一種機制,其中很多緩存數據實現都是用的pagecache。
echo 2 > /proc/sys/vm/drop_caches

#清除pagecache和slab分配器中的緩存對象。
echo 3 > /proc/sys/vm/drop_caches


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM