随笔分类 - java
摘要:\ 本地内存跟踪NMT详解 1. Overview 为什么java程序消耗的内存,远超-Xms、-Xmx的限制?因为各种原因,或是为了进行某些优化,JVM会额外分配内存。这些额外的分配,会导致java程序占用的内存,超出-Xmx的限制。 本文档列举了通常情况下,JVM会分配哪几部分内存,以及各部分
阅读全文
摘要:MAT的使用(一)使用方法介绍 1、概述想要深入的进行分析并确定内存泄漏,就要分析 疑似发生内存泄漏时所生成堆存储文件(hprof)。堆存储文件可以使用DDMS或者Memory Monitor来生成,输出的文件格式为hpof,而MAT就是来分析堆存储文件的。 MAT,全称为Memory Analys
阅读全文
摘要:JVM学习之:堆(Heap)和非堆(Non-heap)内存 堆(Heap)和非堆(Non-heap)内存: 堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两
阅读全文
摘要:Java 诊断工具 Arthas 教程学习笔记 Java 诊断利器 Arthas,是阿里的一款开源工具。Github-alibaba/arthas 上可以看到它的介绍。了解它,主要是最近对分析 Java 错误堆栈比较感兴趣,机缘巧合看到了它。 本文记录的内容,就是基于它官网的文档摘抄的,涉及的截图可
阅读全文
摘要:https://arthas.aliyun.com/doc/ # 简介  Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看
阅读全文
摘要:java进程占用系统内存高,排查解决 _ 故障:今天许多开发反馈测试平台卡,访问不了,第一感觉判断是服务器内存爆了,或者cpu占用过高,上服务器看了一下,确实是内存爆了。然后开始定位问题原因,因为阿里这边安全的原因,具体的图片就不方便上传了,拿网上的图来说 使用top命令查看系统资源的使用情况,命令
阅读全文
摘要:Java中的CPU占用高和内存占用高的问题排查 下面通过模拟实例分析排查Java应用程序CPU和内存占用过高的过程。如果是Java面试,这2个问题在面试过程中出现的概率很高,所以我打算在这里好好总结一下。 1、Java CPU过高的问题排查 举个例子,如下: package com.classloa
阅读全文
摘要:一、JVM 简介 1.1 字节码 由编译器编译程序得到的二进制文件(.class文件)。不同的编译器,可以编译出相同的字节码文件,字节码文件也可以在不同的JVM上运行(具有跨平台性,一次编译,到处运行)。 1.2 虚拟机 虚拟机(Virtual Machine)可以分为系统虚拟机和程序虚拟机: (1
阅读全文
摘要:堆与栈区别 堆(Heap)与栈(Stack)是开发人员必须面对的两个概念,在理解这两个概念时,需要放到具体的场景下,因为不同场景下,堆与栈代表不同的含义。一般情况下,有两层含义: (1)程序内存布局场景下,堆与栈表示两种内存管理方式; (2)数据结构场景下,堆与栈表示两种常用的数据结构。 1.程序内
阅读全文