你的java服務掛了嗎

問題背景

最近測試環境服務老是崩潰,運維小哥所有重啓後仍是崩潰,查看了服務運行狀況佔用內存確實挺高的,看來是時候優化一波jvm參數了。html


優化前

top $(ps -e | grep java | awk '{print $1}' | sed 's/^/-p/')  

   

優化後

nohup java -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -jar
 ${LUJING}/${NAME}/${NAME}.jar --spring.profiles.active=dev >${LUJING}/${NAME}/nohup.out 2>&1 &

    java


總結

經過優化先後對比,咱們發現經過jvm參數調整後,VIRT、RES、%MEM這幾個指標都有了明顯的變化。

VIRT—virtual memory usage虛擬內存

    一、進程「須要的」虛擬內存大小,包括進程使用的庫、代碼、數據等,單位kb,VIRT=SWAP+RES
    二、假如進程申請100m的內存,但實際只使用了10m,那麼它會增加100m,而不是實際的使用量

RES:resident memory usage 常駐內存

    一、進程當前使用的內存大小,但不包括swap out,單位kb, RES=CODE+DATA
    二、包含其餘進程的共享
    三、若是申請100m的內存,實際使用10m,它只增加10m,與VIRT相反
    四、關於庫佔用內存的狀況,它只統計加載的庫文件所佔內存大小

%MEM

    進程使用的物理內存百分比

spring

原文出處:https://www.cnblogs.com/coniglio/p/12173087.html運維

相關文章
相關標籤/搜索