zoukankan      html  css  js  c++  java
  • 你的java服务挂了吗

    问题背景

    最近测试环境服务总是崩溃,运维小哥全部重启后还是崩溃,查看了服务运行情况占用内存确实挺高的,看来是时候优化一波jvm参数了。

    优化前

    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 &
    

    优化后

    总结

    通过优化前后对比,我们发现通过jvm参数调整后,VIRT、RES、%MEM这几个指标都有了明显的变化。

    VIRT—virtual memory usage虚拟内存

    1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等,单位kb,VIRT=SWAP+RES
    2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

    RES:resident memory usage 常驻内存

    1、进程当前使用的内存大小,但不包括swap out,单位kb, RES=CODE+DATA
    2、包含其他进程的共享
    3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
    4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

    %MEM

    进程使用的物理内存百分比

  • 相关阅读:
    Markdown
    异异还原
    程序和算法
    运算符
    Java复习1
    复习总结
    为什么Byte是8位,但是却只能表示到127,而不是255?
    笔记的认识
    笔记本触摸板
    电脑热键
  • 原文地址:https://www.cnblogs.com/coniglio/p/12179193.html
Copyright © 2011-2022 走看看