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

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

  • 相关阅读:
    bootloader
    Arm中的c和汇编混合编程
    Linux学习笔记(一)
    java按所需格式获取当前时间
    java 串口通信 rxtx的使用
    Tomcat数据库连接池
    面试
    复习 模拟call apply
    复习 js闭包
    复习js中的原型及原型链
  • 原文地址:https://www.cnblogs.com/coniglio/p/12179193.html
Copyright © 2011-2022 走看看