linux系統內存使用率飆高到90%


free -gh 顯示的物理內存是7G

 

1、ps aux | head -1;ps aux |grep -v PID |sort -rn -k +4 | head -20 查找到占用內存高的前20個進程

2、pidstat -r -p $pid 1 查看各活動進程的內存使用統計
3、在ECS 上先執行ps aux | grep java,找到JVM的pid;
         然后再執行jmap -dump:format=b,file=heap.bin <pid>,得到heap dump文件。

4、ps -ef |grep java |grep Xms
      ps -ef |grep java |grep Xmx

free -gh 顯示的物理內存是7G,java的Xms與Xmx設置的都是5120m。

解決方案:

1、需要升級服務器的物理內存資源或者將Xms與Xmx寫低

2、如果是buff/cache占用內存高

方法是:

  echo 1 > /proc/sys/vm/drop_caches

  當然,這個文件可以設置的值分別為1、2、3。它們所表示的含義為:

  echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。

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

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


免責聲明!

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



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