linux jmap命令详解,jmap命令 linux jmap如何使用

2023-10-31

1, linux jmap如何使用

5819c4afe0671002a103af80a05a2283.png

jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小。命令格式:jmap [options] pid-dump:[live,]format=b,file=--dump堆到文件,live指明是活着的对象,file指定文件名-finalizerinfo 打印等待回收对象的信息-J 提供jvm选项,如:-J-Xms256m

2, 怎样使用jstack诊断Java应用程序故障

t01aabaa8fe9f4c733a.png.jpg

如果单靠通过查看代码是很难去发现这个问题,在这一次故障排查中,我也学到了怎样更好的使用jvm监控工具来进行诊断,主要用到了jstack和jmap命令,jmap上次已经讲过就不再讲了,下面就一个例子来讲怎么使用jstack来对的Java程序进行诊断。首先让我们来了解一下jstack这个命令的作用,jstack 是一个可以返回在应用程序上运行的各种各样线程的一个完整转储的实用程序,您可以使用它查明问题。jstack [-l] ,jpid可以通过使用jps命令来查看当前Java程序的jpid值,-l是可选参数,它可以显示线程阻塞/死锁情况。/*** 死锁例子* @author crane.ding* @since 2011-3-20*/public class DeadLock {public static void main(String[] args) {final Object obj_1 = new Object(), obj_2 = new Object();Thread t1 = new Thread("t1"){@Overridepublic void run() {synchronized (obj_1) {try {Thread.sleep(3000);} catch (InterruptedException e) {}synchronized (obj_2) {System.out.println("thread t1 done.");}}}};Thread t2 = new Thread("t2"){@Overridepublic void run() {synchronized (obj_2) {try {Thread.sleep(3000);} catch (InterruptedException e) {}synchronized (obj_1) {System.out.println("thread t2 done.");}}

3, jmap dump文件怎么打开

33660b91f253e04e2bc4d033ae5dc85e.png

首先用jmap命令查看该进程的jvm参数,其中PS Perm Generationcapacity = 268435456 (256.0MB)used = 25061360 (23.900375366210938MB)free = 243374096 (232.09962463378906MB)9.336084127426147% usedcapacity 代表者你的永久代最大内存 used代表已经使用如果capacity过小会导致java.lang.OutOfMemoryError: PermGen space 楼上2位都给出了如何调整该参数

4, java中毫无征兆的内存溢出有可能来自哪里

t0143049927b87bd9a7.png.jpg

java dump heap 是分配给实例类和数组对象运行数据区,所有java线程在运行期间共享heap中的数据。Java heap dump相当于java应用在运行的时候在某个时间点上打了个快照(snapshot)。有java dump文件生成的方式如下:1.使用$JAVA_HOME/bin/jmap -dump来触发,eg:jmap -dump:format=b,file=/home/longhao/heamdump.out2.使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun.management>HotSpotDiagnostic>操作>dumpHeap中,点击 dumpHeap按钮。生成的dump文件在java应用的根目录下面。3.在应用启动时配置相关的参数 -XX:+HeapDumpOnOutOfMemoryError,当应用抛出OutOfMemoryError时生成dump文件。4.使用hprof。启动虚拟机加入-Xrunhprof:head=site,会生成java.hprof.txt文件。该配置会导致jvm运行非常的慢,不适合生产环境。

名词解释

MB

MB,英文简写,计算机中的一种储存单位,全称MByte。 MB(全称MByte):计算机中的一种储存单位,读作“兆”。数据单位MB与Mb(注意B字母的大小写)常被误认为是一个意思,其实MByte含义是“兆字节”,Mbit的含义是“兆比特”。MByte是指字节数量,Mbit是指比特位数。MByte中的“Byte”虽然与Mbit中的“bit”翻译一样,都是比特,也都是数据量度单位,但二者是完全不同的。Byte是“字节数”,bit是“位数”,在计算机中每八位为一字节,也就是1Byte=8bit,是1:8的对应关系。因此在书写单位时一定要注意B字母的大小写和含义。

参数

参数(parameter)是一个数学概念,指在问题中提供参考(不属于必须研究范围)的变量。 我们在研究当前问题的时候,关心某几个变量的变化以及它们之间的相互关系,其中有一个或一些叫自变量,另一个或另一些叫因变量。如果我们引入一个或一些另外的变量来描述自变量与因变量的变化,引入的变量本来并不是当前问题必须研究的变量,我们把这样的变量叫做参变量或参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux jmap命令详解,jmap命令 linux jmap如何使用 的相关文章

  • jquery之index与selectedIndex

    晚上有时间 继续再写一点 我们来讲一下关于select表单的所有操作 在项目中还是有很多地方需要用到的 讲select之前先讲一下index 的用法 很长时间之前用过一回 熟悉一下还是有用处的 1 index 同级元素的index 获得第一
  • JavaParser入门:以编程方式分析Java代码

    我最喜欢的事情之一是解析代码并对其执行自动操作 因此 我开始为JavaParser做出贡献 并创建了两个相关项目 java symbol solver和Effectivejava 作为JavaParser的贡献者 我反复阅读了一些非常类似的
  • cv2读取视频每10帧保存一张图像

    读取本地mp4视频 每隔10帧保存一张图像到本地 导入所有必要的库 import cv2 import os RootDir Users billiards SaveDir os path join RootDir data 从指定的路径读
  • GICP 配准点云(附python 代码)

    import open3d as o3d import numpy as np import copy def draw registration result src tar transformation source temp copy
  • IP地址分类(A,B,C,D,E类)

    A类的10 0 0 0 10 255 255 255 B类的172 16 0 0 172 31 255 255 C类的192 168 0 0 192 168 255 255为私网IP 除此之外 A B C三类的所有其余IP都是公网IP 或者
  • 记录Python学习 1:列表字符串转数字

    问题 如何将列表 1 2 3 4 5 中的字符串型转化为数值型 通常在使用 lst input split 获得输入时 列表里为字符串型 有时需要进行转换 常用的有两种方法 方法一 利用列表推导式 lst 1 2 3 4 5 lst int
  • android APP调用系统方法

    一般来说 有些系统方法是不提供在 中的 这种情况下 需要把app的源码放到系统源码的目录下编写Android mk进行编译 使其能访问到 hide的系统方法 但是 即使编译通过 在系统中运行的时候 仍然会碰到权限被拒绝的问题 昨天 我在AP
  • 语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖

    文章目录 语句覆盖 判定覆盖 条件覆盖 条件 判定覆盖 组合覆盖 路径覆盖 逻辑覆盖率 语句覆盖 lt 条件覆盖 lt 判定覆盖 lt 条件 判定覆盖 lt 组合覆盖 lt 路径覆盖 语句覆盖 基本思想 设计用例 使程序中的每个可执行语句至
  • DENOISING DIFFUSION IMPLICIT MODELS 论文笔记

    前言 生成模型现在主要分为两类 分别是GAN和Diffusion Model 但是GAN存在一个很棘手的问题就是训练不稳定 这也是Diffusion Model相比之下的优势 DDPM是基于Markovian扩散过程的模型 虽然在生成模型上
  • Java循环结构和DeBug概述

    循环结构 掌握while 循环 先判断在执行 1 循环初始化变量 2 循环条件 3 循环操作 4 循环出口 将循环条件逐渐变为不满足 例图下 do while 循环 先执行在判断 1 声明键盘录入 无论条件是否合格 都会先执行依次循环操作
  • Basic Level 1067 试密码 (20分)

    题目 当你试图登录某个系统却忘了密码时 系统一般只会允许你尝试有限多次 当超出允许次数时 账号就会被锁死 本题就请你实现这个小功能 输入格式 输入在第一行给出一个密码 长度不超过 20 的 不包含空格 Tab 回车的非空字符串 和一个正整数
  • MQTT 消息通信工具使用

    MQTT 介绍 MQTT是机器对机器 M2M 物联网 IoT 连接协议 它被设计为一个极其轻量级的发布 订阅消息传输协议 对于需要较小代码占用空间和 或网络带宽非常宝贵的远程连接非常有用 是专为受限设备和低带宽 高延迟或不可靠的网络而设计
  • Node.js的前世今生,Node.js和npm安装教程

    Node js是目前非常火热的技术 但是它的诞生经历却很奇特 众所周知 在Netscape设计出JavaScript后的短短几个月 JavaScript事实上已经是前端开发的唯一标准 后来 微软通过IE击败了Netscape后一统桌面 结果
  • SpringBoot实战(二十四)集成 LoadBalancer

    目录 一 简介 1 定义 2 取代 Ribbon 3 主要特点与功能 4 LoadBalancer 和 OpenFeign 的关系 二 使用场景一 Eureka LoadBalancer 服务A loadbalancer consumer
  • Qt 集成 FFmpeg 实现颜色格式转换

    目录 1 Qt 集成 FFmpeg 1 1 下载 FFmpeg 1 2 Qt 集成 FFmpeg 1 2 1 修改 pro 文件 1 2 2 放入 dll 文件 1 2 3 代码中使用 FFmpeg 2 图像格式转换 3 预览 4 项目地址
  • 图形学--Transformation

    为什么突然写图形学的东西了呢 当然是学校要上这门课 摊 2D Transformation scale 缩放 其中这个对角矩阵是缩放矩阵 Reflection 反转 Shear 切变 Roatate 旋转 默认绕原点旋转 逆时针 旋转 角是
  • Android 使用ViewPager创建导航页(最简单方法,不服来辩)

    要说写一个APP最先要写的是什么 那肯定是导航页了 导航页怎么实现呢 这里介绍其中一种使用方法ViewPager 好了废话不多说 一 VIewPager是什么 ViewPager继承自ViewGroup 是一个View容器 用于装载多个Vi
  • 网络编程学习笔记(基础)

    序言 这个博客有点 胡吃海喝 的味道 所写虚于所实哈 笔记记的是一个B站up主的 目录 TCP 双向的沟通 双向奔赴 gt 稳定 UDP 单向的沟通 单相思 gt 发送 网络编程的作用 网络编程的重点在于 联机 单机游戏和联机游戏的区分 网
  • R从文件中读取数据,输出文件

    看了几天的书 终于到这一步了 说实话 用R来做统计 很少有人手动的去输入那些数字 肯定是从别的地方导入的 我们用来处理就可以了 所以到这里才算是真正的入门 前面都是做基础的练手 我学习R从 R语言与统计分析 入手 第一个例子 从书上的例子

随机推荐

  • window消息,窗口学习笔记

    线程和窗口的关系 如上图在 点击了窗口后 int a 100 这条语句不会执行 知道把窗口关闭掉才会执行 如果把SendMessage函数改为PostMessage函数 则直接会执行到这条语句
  • java代码对比工具_代码比较工具(Diffuse)

    支持命令行提示和一个基于GUI的窗口工具包 他在命令行中的速度是相当快的 支持像 C Python Java XML 等语言的语法高亮显示 可视化比较 非常直观 支持两相比较和三相比较 这就是说 使用 Diffuse 你可以同时比较两个或三
  • ChatGPT 太贵?一键部署自己的私有大模型

    部署你的私有化对话机器人 只需要三步 克隆 github 中文版 LLaMa repo 下载 HuggingFace 13B 16K 完整模型 启动对话窗口 没错 就是这么简单 我把这份操作指南 做成了一份 Jupyter Notebook
  • 遗传算法(GA)优化BP神经网络分类预测,GA-BP分类预测,多特征输入模型。多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出分类效

    清空环境变量 warning off 关闭报警信息 close all 关闭开启的图窗 clear 清空变量 clc 清空命令行 导入数据 res xlsread 数据集 xlsx 划分训练集和测试集 P train res 1 250 1
  • 萤火学堂视频:硬件设计-PCB原理图简要讲解

    萤火学堂 视频 硬件设计 PCB原理图简要讲解 https v youku com v show id XNDY0MTYyNDk4NA 3D 3D html
  • java 批量查询es_java操作ES的简单查询和bool查询

    导入包 org elasticsearch client transport 5 2 2 org apache logging log4j log4j api 2 7 org apache logging log4j log4j core
  • 实验七,运算符重载

    一 实验目的和要求 熟悉运算符重载的定义和使用方法 二 实验内容 1 调试下列程序 sy7 1 cpp include
  • CSDN每日一练20230310

    题目名称 一维数组的最大子数组和 题目描述 下面是一个一维数组的 最大子数组的和 的动态规划的解法 include
  • ffmpeg-linux系统编译so库

    windows10下安装双系统 这个流程百度一下一大把资料 1 ubuntu 18 04 3 desktop amd64 iso 驱动器 2 安装VMware Workstation Pro 3 配置linux下配置ndk环境 4 下载ff
  • Android 7.0 Camera架构源码分析1 - CameraService启动

    本系列教程主要讲解Camera从APP层到HAL层的整个流程 第一篇先讲解CameraService的启动 后面会讲解open preview takepicture的流程 Android 7 0之前CameraService是在media
  • Java中抛出的内存异常总结

    Java中抛出的内存异常总结 根据上述的总结 可以整理出来 JVM在运行的时候大致会分为五个区域 方法区 堆区 本地方法栈 虚拟机栈 程序计数器 其中程序计数器不会报出OutOfMemoryError错误 其他的都有可能会报出这个错误 St
  • 逆向百度翻译

    逆向步骤 访问首页 https fanyi baidu com 获取set cookie 第二次根据cookie 获取的首页包含token 正则匹配出来 算出sign 根据查询入参 js逆向算出sign 最终 cookie sign 和 t
  • 【魔改YOLOv5-6.x(上)】结合轻量化网络Shufflenetv2、Mobilenetv3和Ghostnet

    文章目录 前言 一 Shufflenetv2 论文简介 模型概述 加入YOLOv5 二 Mobilenetv3 论文简介 模型概述 深度可分离卷积 逆残差结构 SE通道注意力 h swish激活函数 加入YOLOv5 三 Ghostnet
  • fifo读写写测试

    记录学习日常 本实验参考正点原子的实验教程 按照自己的理解来完成实验 四个模块 第一个模块是调用fifo IP核并设计类型 二 写如数据模块 三 读数据模块 四 顶层模块 ip核设置如图 二 写数据模块的输入有时钟 复位 写满 写空 输出有
  • 实战:彻底搞定 SpringBoot 整合 Kafka

    前言 kafka是一个消息队列产品 基于Topic partitions的设计 能达到非常高的消息发送处理性能 Spring创建了一个项目Spring kafka 封装了Apache 的Kafka client 用于在Spring项目里快速
  • Java初识 (数据类型)

    有人说Java是一种简单的语言 实际上没有简单的语言 只有相对简单 Java是一种面向对象的语言 学习Java 首先得了解 JDK JDK Java开发者工具 JRM Java运行环境 JVM Java虚拟机 面试题 main 函数的参数是
  • 编写shell脚本——一键启动Hadoop集群

    第一步 1 创建一个存放脚本的目录 命令 mkdir bin 注 如果不了解存放脚本目录的命名 就将目录名命名为 bin 如果 自己命名为其他可能在后面第四步的时候查找不到脚本 2 在bin目录下创建 hadoop sh 脚本 1 进入新创
  • gp基础篇-用户与资源队列管理

    author skate time 2012 11 16 gp基础篇 用户与资源队列管理 gp像oracle一样 有自己的独立的用户管理模块 但gp不像oracle那样 把用户和用户组分的那么细 gp中的用户 即是用户 又是用户组gp中的用
  • 目标检测研究现状调研

    近期在调研目标检测的研究现状 包括two stage和one stage 以及anchor based和anchor free 把用到的一些链接记录一下 方便查阅 机器之心的一篇文章 从锚点到关键点 最新的目标检测方法发展到哪了 这篇文章介
  • linux jmap命令详解,jmap命令 linux jmap如何使用

    1 linux jmap如何使用 jmap命令可以获得运行中的jvm的堆的快照 从而可以离线分析堆 以检查内存泄漏 检查一些严重影响性能的大对象的创建 检查系统中什么对象最多 各种对象所占内存的大小 命令格式 jmap options pi