你的java服务挂了吗
程序员文章站
2022-03-18 18:06:44
...
问题背景
最近测试环境服务总是崩溃,运维小哥全部重启后还是崩溃,查看了服务运行情况占用内存确实挺高的,看来是时候优化一波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
进程使用的物理内存百分比
上一篇: cdr绘制漂亮的儿童照片墙教程
下一篇: 在户外摄影有哪些注意事项呢?