jvm如何查找内存问题

jvm如何查找内存问题,第1张

JVM 中的内存问题通常是由内存泄漏、内存溢出等引起的。以下是一些 JVM 查找内存问题的方法:

使用 JVM 自带的工具,如 jmap, jstat, jconsole, jvisualvm 等,来监控和分析 JVM 的内存使用情况。可以查看 JVM 的内存使用情况、对象数量、内存泄漏情况等。

使用垃圾回收日志来分析内存使用情况。可以通过 -XX:+PrintGC 或 -XX:+PrintGCDetails 参数开启垃圾回收日志,并使用分析工具来分析日志,如 GCViewer, GCEasy, HPROF 等。

使用 Java 代码来分析内存使用情况。可以使用一些 Java 内存分析工具来分析 JVM 的内存使用情况,如 Eclipse MAT, VisualVM 等。这些工具可以帮助我们查找内存泄漏、对象数量等问题。

使用代码审查工具。可以使用一些代码审查工具来查找可能存在的内存问题,如代码中未关闭的资源、未释放的对象等。

查看代码中的错误。可能是由于代码中的错误导致内存问题。例如,可能存在循环引用、使用静态变量等问题。

首先来说一下什么是循环引用。
简单的一种情况就是,公式所在单元格引用区域包含了公式所在单元格本身。如在A1输入公式:=SUM(A1:A3)。公式运行结果既要求A1:A3的和,又依赖A1单元格的返回值。复杂一些的情况是,公式引用单元格区域的返回值也是公式,但该公式引用或依赖当前公式所在区域。比如:C1的公式是=A1,A1输入公式=SUM(C1:C3)。
Excel本身提供了可以查找该引用错误的方式。根据下图,依次点击:
公式-错误检查-循环引用。
根据循环引用错误检查的提示,点击跳转到单元格,查看并修改公式。
如果工作簿中有多个循环引用,再次使用上述方法改成正确公式即可。
多次使用上述方法,直到循环引用处变成灰色为止。
按上述方法 *** 作完毕,保存并关闭工作簿,再打开就不会出现该警告了。
如果特殊情况确实需要开启循环引用,点击Office按钮-Excel选项-公式-启用迭代计算即可。迭代次数根据需要设定。

如果你知道那个引用源具体位置的话就好办了。找到那个位置,把它的内容改成比较特殊的、在excel中不可能和其它的单元格内容相同的值,比如改成“我要删掉你”,然后再excel中查找“我要删掉你”,就可以定位到那个单元格。
补充:下面的方法可能有用。
原理:因为引用其它的外部文件的时候,引用链接会用到[],所以我们可以通过查找“[”来找到引用的位置。
步骤是:
1 关闭掉所有的excel文档,只保留你想删除引用的那个文档。
2 菜单编辑-->查找
3 在d出的查找对话框中输入“[”
4 点击右下角的“选项“
5 选择在“工作簿”中的“公式”中查找。
6 点击查找所有按钮

论坛
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDNNET, All Rights Reserved
登录
XCCS_澍
关注
Python 的内存管理机制及调优手段? 原创
2018-08-05 06:50:53
XCCS_澍
码龄7年
关注
内存管理机制:引用计数、垃圾回收、内存池。
一、引用计数:
    引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加 1, 当其不再被一个变量引用时则计数减 1 当引用计数等于 0 时对象被删除。
二、垃圾回收 :
1 引用计数
      引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某个对象的引用计数降为 0 时,说明没有任何引用指向该对象,该对象就成为要被回收的垃圾了。比如某个新建对象,它被分配给某个引用,对象的引用计数变为 1。如果引用被删除,对象的引用计数为 0,那么该对象就可以被垃圾回收。不过如果出现循环引用的话,引用计数机制就不再起有效的作用了
2 标记清除
     如果两个对象的引用计数都为 1,但是仅仅存在他们之间的循环引用,那么这两个对象都是需要被回收的,也就是说,它们的引用计数虽然表现为非 0,但实际上有效的引用计数为 0。所以先将循环引用摘掉,就会得出这两个对象的有效计数。
3 分代回收
     从前面“标记-清除”这样的垃圾收集机制来看,这种垃圾收集机制所带来的额外 *** 作实际上与系统中总的内存块的数量是相关的,当需要回收的内存块越多时,垃圾检测带来的额外 *** 作就越多,而垃圾回收带来的额外 *** 作就越少;反之,当需回收的内存块越少时,垃圾检测就将比垃圾回收带来更少的额外 *** 作。

循环引用是直接或间接引用自已(如在B1单元格中输入公式=B1+A1),如果去掉它还需要从修改公式入手,把引用自身的部分修改删除掉。查找引用单元格可以用循环引用工具栏上的工具(含有时会自动d出这个工具栏)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12790932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存