- 浏览: 2652381 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
MAT 使用初探
今天线上一个应用的持久区满了,一直没有下来,导致一些服务不可用,就用jmap当出内存快照后,用MAT分析内存的基本信息,发现很多地方不会用。找了些资料记录在下来。
1.引用
- Strong reference : 就是我们new出来的对象,但是还是被持有的应用,垃圾回收时不会回收这个应用
- soft reference : 我们new出来的对象,但是已经不被具体对象持有,常见的就是缓存中的对象引用,垃圾回收在内存还够的时候不会回收该部分内存信息,只有在内存不够时才会回收这块引用的对象
- weak reference : 当对象不在有强引用时候,垃圾回收时立刻回收。
- Phantom reference : 不会在内存中出现,因为它一般是同ReferenceQueue一起出现,来跟踪对象是否还是保持强引用。
2.术语
shallow size:对象自身中有的内存大小
retained size:对象自身大小 + 该对象直接或是间接引用对象的shallow size
GC Roots:所有的对象引用refer chains的起点。
以上左图中以object1来说,单独一个object1大小就是shallow size,object1及所有蓝色对象就是该对象直接或是间接引用的就是retained size。
同理右图中object4还被gc roots引用到,那么retained size就不包含这个。
3.实例
3.1导入一个内存文件后,用MAT打开,具体如下图所表示
3.2 details:一些基本信息
Size: 153.7 MB Classes: 331 Objects: 4.1m Class Loader: 3 Unreachable Objects Histogram
3.3 biggest object by retained size:显示在内存较大的对象信息
list objects -- with outgoing references : 查看这个对象持有的外部对象引用。
list objects -- with incoming references : 查看这个对象被哪些外部对象引用。
show objects by class -- with outgoing references :查看这个对象类型持有的外部对象引用
show objects by class -- with incoming references :查看这个对象类型被哪些外部对象引用
paths to gc root : 显示不同类型引用(上文中提到的Strong ,soft,weak )到跟节点的路径。
merge shorest path to gc root : 合并最短路径到root节点,这个具体没试过。
java basics:
-- classloader 该对象对应的classloader信息 。
-- thread details :线程信息
-- thread stacks :线程堆栈
-- find String : 在这个对象中查询需要的字符串(还不确定,需要再搞下)
-- group by : 根据某个字段统计出现的个数
java collections:这个暂时没研究,以后再搞。
leak Identification -- top consumers :几个大消耗内存的对象
3.4 可用操作
actions:列出每个类型的实例数及大小 。
donimator tree :列出所有对象在整个内存对象中所占百分比。比较有用。
Top Consumers: 根据类名和包名列出开销最大的对象。
Duplicate Classes: 查找出在不同classloader中加载的相同类。
step by step 方式
MAP提供了两种分析方式:
1.查找内存泄漏的方式分析内存
2.通过组件方式分析内存主要从;空对象,重复对象加载等方面。
这个在第一次加载内存文件,或者可以通过
总结:
1.首先看retained size最大的那些数据,一般看内存都是想解决内存泄漏问题,可以通过Top Consumers或者是donimator tree等actions。
2.找到最大的数据后,通过list objects -- with outgoing references 查看具体持有了哪些对象,或者通过java basics -- classloader 。查看这个是因为我们这次因为perm区满了,需要查看这个数据。到底还是哪些classloader加载了数据。
tips:
持久区中存放的数据:
类信息,方法信息,常量池,静态变量,对于加载自己的classloader引用、interned strings(字符串驻留)
发表评论
-
定位IO瓶颈的一些方法
2014-08-25 15:44 786IO瓶颈往往是我们可能会忽略的地方(我们常会看top、free ... -
编写内存效率的java代码-面向GC
2014-07-20 12:38 2193参考两个PPT http://www.sl ... -
找到最耗CPU的java线程
2014-04-18 17:25 1813找到最耗CPU的java线程ps命令 命令:ps -mp ... -
故障排除的第一个五分钟
2014-04-15 14:05 1330原文:http://junqili.com/linux/tr ... -
Linux 性能监测总结
2014-04-14 15:22 835Linux 性能监测:介绍Linux 性能监测:MemoryL ... -
java socket远程读取文件性能测试
2014-03-22 00:47 1535为了比较beansdb,写了一个基于socket的java ... -
磁盘性能分析利器-iotop
2014-03-14 10:40 877有时候cpu的iowait很大,但找到瓶颈在哪里,通过iot ... -
Solr性能优化之filterCache
2014-02-27 10:48 950原文:Solr性能优化之filterCache 什么是f ... -
优化Linux下的内核TCP参数来提高服务器负载能力
2014-02-21 14:52 763原文:http://blog.renhao.org/201 ... -
如何提升lucene的索引速度
2014-02-07 21:16 924原文: http://wiki.apache.org/lu ... -
提升磁盘IO性能的几个技巧
2014-02-06 11:29 4486原文:http://www.searc ... -
hbase 写入性能
2014-02-05 16:35 1863hbase单表的平均写入QPS大概在5000-7000 ... -
Exception性能问题
2014-01-24 22:25 13071.从Exception往上介绍相关结构、代码 ... -
java 性能监控
2014-01-15 13:34 929参考:https://github.com/oldratl ... -
hbase scan性能
2013-12-26 18:41 0今天把hbase一个表的数据导到另外一个表,源表大概300 ... -
几种file copy的性能对比
2013-12-16 10:45 1675测试了几种file copy的性能: package m ... -
Linux 性能测试与分析
2013-11-11 16:31 2057本文参考:http://testing. ... -
python,jython 服务器load对比
2013-05-16 23:50 615详细情况见附件 -
并行加载性能对比
2013-01-30 12:14 972今天遇到一个场景,一个很大Bean对象需要执行8条sql来组 ... -
mongoDB的$in性能
2013-01-20 14:41 1649今天发现mongoDB的$in性能不怎么样,24条ID和1条 ...
相关推荐
OpenCVSharp 中遍历、修改Mat像素对比 1、指针 2、GetIndexer 4、GetGenericIndexer 5、GetUnsafeGenericIndexer ..."OpenCVSharp学习笔记3--OpenCV如何扫描图像、利用查找表和计时/遍历、修改Mat像素"一文的源码
这篇学习笔记主要涵盖了如何使用MATLAB读取不同格式的文件,包括纯文本`.txt`、`.mat`文件以及Excel文件。以下是对这些知识点的详细说明: 1. **读取纯文本 `.txt` 文件**: 使用`txtload`函数可以读取纯文本文件...
通过遍历文件列表,对每个 .mat 文件使用 `load` 函数,并将结果存储在一个 cell 数组中。这样可以方便地按索引访问每个数据项。 在实际应用中,你可能需要根据文件的具体结构和内容来调整这些读取方法。例如,对于...
以下将详细讲解如何使用MATLAB读取txt、mat以及Excel文件。 1. **读取纯文本文件(txt)** 在MATLAB中,可以使用`txtload`函数读取纯文本文件。例如,`txtload('test.txt')`会将`test.txt`文件的内容加载到MATLAB...
这份名为“吴恩达机器学习课后作业源码及笔记”的压缩包文件,无疑是针对他开设的机器学习课程的学习辅助资料。这份资料包括了课程中的习题解答以及相关的编程代码,对于正在学习或已经学过吴恩达机器学习课程的人来...
本文档为 OpenCV 学习笔记,涵盖了 OpenCV 库的基本使用和图像处理技术。文档分为两章,第一章介绍了图像的载入、保存和旋转操作,第二章详细介绍了图像的遍历和处理。 第一章:图像载入、保存和旋转 在 OpenCV 中...
以下是从标题和描述中提取的关于如何在MATLAB中读取txt、mat、Excel等文件的关键知识点: 1. **读取纯文本txt文件**: 使用`load`函数可以读取纯文本的txt文件。例如,`load test.txt`会将文件`test.txt`的内容...
7. **考试策略**:对于备考研究生入学考试(如考研数学)、GRE、MAT等考试的学生,笔记中可能包含针对性的复习策略和解题技巧。 8. **解题思路**:陈文灯教授的解题方法独特,强调思路清晰、步骤严谨,能帮助读者...
此外,还提到了初始化Mat对象时使用的类型表示方法,如CV_8UC3、CV_16SC1等,这些都是OpenCV中用于指定图像数据类型和通道数的宏。它们定义了图像中像素的数据类型和通道数量,比如CV_8UC3代表了三个通道的8位无符号...
【Matlab系列学习笔记概述】 本系列学习笔记是基于司守奎先生的著作《数学建模算法与应用》编写的,旨在深入理解并掌握Matlab这一强大的数学计算和建模工具。Matlab(Matrix Laboratory)是一款广泛应用于工程、...
本笔记将深入探讨这两个区域的工作原理以及如何进行有效的分析。 首先,我们要理解Java内存的两个主要部分:堆(Heap)和栈(Stack)。堆主要用于存储对象实例,而栈则用于存储基本类型变量和对象引用。堆内存是...
当您想要将当前工作区中的变量保存以便以后使用时,通常会使用 `.mat` 文件格式。这些文件不是文本文件,而是一种二进制格式,只能通过 MATLAB 或者其他支持这种格式的软件读取。 #### 清屏命令 `clc` `clc` 命令...
在本文中,我们将深入探讨如何使用Halcon与OpenCVSharp结合C#来实现实时从笔记本摄像头采集图像并识别二维码的流程。Halcon是一种强大的机器视觉软件,它提供了丰富的图像处理函数,包括二维码识别;OpenCVSharp是...
2. 数据类型:OpenCV主要使用`cv::Mat`数据结构存储图像,这是一个高效且灵活的矩阵类,支持多种数据类型,如8位无符号整数(uchar)、32位浮点数(float)等。 3. 图像读取与显示:使用`imread()`函数读取图像,`...
在本文中,我们将深入探讨如何在Windows 10操作系统上配置和使用OpenCV 3.2与Qt 5.8.0的集成,以便能够利用笔记本的内置摄像头进行图像处理和计算机视觉应用。 首先,OpenCV(开源计算机视觉库)是一个强大的库,...
根据提供的文件信息,我们可以归纳出MATLAB中的一些关键知识点,这些知识点主要涵盖了MATLAB的基本使用方法、数据类型、数学函数、变量与赋值语句、矩阵操作等方面。 ### MATLAB概述 MATLAB是一种广泛应用于工程...
本压缩包“matlab个人实验笔记本之类的.zip”包含了与MATLAB相关的个人实验笔记和一个名为“Notes_master.zip”的子文件,以及一个“说明.txt”的文本文件,可能包含了对这些笔记的详细解释或使用指南。 在MATLAB的...
### OpenCV 基于 C++ 的个人笔记总结 #### 环境配置与注意事项 在使用 OpenCV 进行 C++ 编程时,首先需要确保开发环境正确配置。这里提到的一些细节对于初学者来说非常重要: - **路径中斜杠的使用**:在不同的...
5. **内存管理**:理解如何避免内存泄漏,熟悉Android内存分析工具如MAT或LeakCanary,以及如何优化内存使用。 6. **性能优化**:包括UI流畅性、后台任务管理、资源优化、代码效率提升等方面。理解ANR(Application...