上周五內存使用率為79%,但是昨天起內存使用率高達90%,應用程序和數據庫占用內存一直沒有太大的變化,但是這些內存哪裡去了呢?
使用glance -m命令查看內存使用情況:
Total VM : 20.4gb Sys Mem : 5.6gb User Mem: 10.7gb Phys Mem : 31.9gb
Active VM: 14.6gb Buf Cache: 0mb Free Mem: 2.5gb FileCache: 13.2gb
在網上查到如下資料:
filecache_max和filecache_min是對應的參數,代表物理內存中拿來作為文件IO緩存的最大值和最小值,支持百分比值。默認max為50%物理內存,min為5%物理內存。min裡面這些被保留的內存不再可以用於其它的地方,即使它並沒有被完全使用。max剩余的情況下,有時也被用於緩存動態數據和內核數據。
只要當前filecache的使用還沒有達到限制,它就會自己不斷增長。當max達到最大限制時,緩存的數據就會從內存中移除,以空出位置存放新的緩存數據。
1、filecache還會一直增長直到達到max嗎?
2、如果filecache還沒達到max內存就被使用完了,會出現什麼問題?
3、在內存使用率較高情況下,如何修改filecache_max參數,釋放一定數量的內存,修改filecache_max需要重啟服務器嗎?