zoukankan      html  css  js  c++  java
  • jmap -heap 查看堆内存

    概述

    用jmap -heap命令可以查看linux堆内存分布

    具体用法

    1:先查出tomcat的进程号

    例如:

    然后执行 jmap -heap 7095 可以打印出整体的堆信息

     

    可以看到经过分配的存活区与eden比率=2:8
    1)eden区:775M
    2)两个存活区大小:都为127M(存活区=space)
    3)年轻代大小:1G
    4)老年代大小:2G
    5)最大堆内存大小:年轻代大小+老年代大小=3G
    7)java应用程序占用内存大小:最大堆内存大小=3G

    NewRatio = 2 表示年轻代(e+2s):老年代=1:2,指新生代占整个堆的1/3
    SurvivorRatio = 8 表示2个S:eden=2:8,一个S占年轻代的1/10
    年轻代=eden+2s

    常见错误

    1:执行 jmap -heap 遇到:
    Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: cannot open binary file

    执行:echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

    2:遇到 bash: /proc/sys/kernel/yama/ptrace_scope: Read-only file system

    执行:sudo vim /etc/sysctl.d/10-ptrace.conf

    添加或修改以下这一句:(0:允许, 1:不允许)
    kernel.yama.ptrace_scope = 0

     

  • 相关阅读:
    Design Thinking 设计思维
    SELECT小技巧
    网站架构
    代码生成器重构
    如何监控你的鼠标
    Asp.net超轻异步框架
    跨线程修改UI控件
    NPOI组件
    浅析Linux计算机工作机制
    VS2010单元测试
  • 原文地址:https://www.cnblogs.com/Zfc-Cjk/p/10819688.html
Copyright © 2011-2022 走看看