美文网首页
linux下查看jvm内存脚本

linux下查看jvm内存脚本

作者: 吴世浩 | 来源:发表于2017-07-22 14:03 被阅读220次

一:好言

与其违心赔笑,不如一人安静,与其在意别人的背弃和不善,不如经营好自己的尊严和美好。

二、内容

也是这次处理内存溢出问题,所以韵味这边写了脚本进行检测,如果超过多少就dump出相应的文件出来。我找运维要了脚本,记录下,这是我们公司运维写的。

2.1 普通linux下执行代码

#/bin/sh

while :;

do

    pid=`ps -ef | grep -v grep | grep java | grep 8080 | awk '{print $2}'`

    memsize=`jmap -heap $pid | grep "G1 Heap" -A 3| grep used | awk -F= '{print $2}' | awk '{print int($1/1024/1024)}'`

    echo jvm use mem: $memsize
    
    if [[ $memsize -gt 2000 ]];then

        dumpfile="/tmp/8080_`date +'%Y%m%d%H%M%S'`.hprof"

        jmap -dump:format=b,file=$dumpfile $pid && exit 0
        
    fi

    sleep 10

done

    

2.1 docker下执行代码

#/bin/sh

rm -rvf 8080.jvm

while :;

do

    pid=`ps -ef | grep -v grep | grep java | grep 8080 | awk '{print $2}'`

    memsize=`jmap -heap $pid | grep "G1 Heap" -A 3| grep used | awk -F= '{print $2}' | awk '{print int($1/1024/1024)}'`

    echo jvm use mem: $memsize
    
    if [[ $memsize -gt 2800 ]];then

        docker exec -it app-8080-user bash -c "cd /tmp && rm -rvf 8080.jvm && jmap -dump:format=b,file=8080.jvm 31"

        docker cp app-8080-user:/tmp/8080.hprof  /tmp/
    fi

    sleep 10

done

docker下可能不一样,其实我们关注主要的命令就行,比如dump jvm内存信息的命令jmap -heap

相关文章

  • linux下查看jvm内存脚本

    一:好言 与其违心赔笑,不如一人安静,与其在意别人的背弃和不善,不如经营好自己的尊严和美好。 二、内容 也是这次处...

  • java进程和普通进程在内存管理上区别于联系

    Linux与JVM的内存关系分析 在这篇文章中: 引言 一、Linux与进程内存模型 二、进程与JVM内存模型1....

  • jstat常用命令

    jstat命令查看jvm的GC情况 (以Linux为例) jstat命令可以查看堆内存各部分的使用量,以及加载类的...

  • jvm笔记

    jvm调优指令 jstat:输出堆内存信息 jmap -heap:查看内存情况 jmap -histo:查看内存对...

  • 工具

    查看当前运行的jvm线程号等信息jps,增强版jcmd查看jvm的gc实时监控统计信息jstat查看jvm的堆内存...

  • JVM相关信息查看

    1. jps,查看jvm实例 2. jstat,jvm统计信息,包含内存信息及GC信息 3. jmap,查看JVM...

  • JDK 监控和故障处理工具(待完善)

    命令行工具 jps用于输出 JVM 虚拟机进程信息,类似于 Linux 的 ps jstat查看内存占用和垃圾收集...

  • jvm

    查看jvm中的进程 检查内存使用情况 查看对象分布,内存空间和数量 查看gc日志

  • Linux下查看系统内存命令

    Linux下内存查看命令 free 命令 free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)...

  • jmap jhat 查看java对象的内存占用情况

    **jmap **能查看jvm内存中,对象占用内存的情况,还提供非常方便的命令将jvm的内存信息导出的文件。 Sh...

网友评论

      本文标题:linux下查看jvm内存脚本

      本文链接:https://www.haomeiwen.com/subject/aiojkxtx.html