java - 找出java中的内存分配热点

标签 java performance memory-management garbage-collection jvm

我们的 GC 正在努力工作,我们希望减少一些停顿。 在调整实际的 JVM GC args 之前或期间,我们有一些内存分配问题想要解决。

我想知道哪些对象让 GC 出汗:

  1. 有没有办法知道每次 GC 时疏散了哪些对象 正在工作中?
  2. 有没有办法知道哪些对象在两者之间移动 GC 每次工作时的区域?
  3. 有没有办法知道伊甸园区域中有哪些对象?

我广泛使用 Jprofiler 和 Memory Analyzer。 我想在我的暂存环境中获取有关正在运行的应用程序的信息。

最佳答案

对于 2 和 3,您可以使用 -XX:+PrintGCDetails-XX:+PrintGCTimeStamps 标志与 Oracle 或 OpenJDK java 在您的应用程序的运行 session 期间可执行

关于java - 找出java中的内存分配热点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345541/

相关文章:

java - Java算子的疑惑

java - 有没有办法减少多个类型参数?

java - 如何使 TCPTransport$ConnectionHandler.run 消耗更少的 CPU 时间

c - 在代码中使用 turboboost 测量 CPU 频率

python - 仅在 Spyder IDE 中出现内存错误

c++ - 堆栈上的可变大小对象

c++ - 使用堆调试 MS VC++ 2005

java - 使用 s 解析 Struts2 标签中 Hashmap 的 ArrayList :iterator

java - Swing - 无法使用模态 JDialog 在 Windows 中切换语言

mysql - 使用 MySQL 查找最接近十进制坐标的 X 位置的效率