gpt4 book ai didi

java - 当堆稳定时诊断 Java 中的 RSS 泄漏

转载 作者:太空宇宙 更新时间:2023-11-04 04:25:31 26 4
gpt4 key购买 nike

我正在使用一个简单的测试程序,运行了几个小时。

public static void main(String[] args)  {
for (int i=1; i<500; i++) {
run();
}
}

public static void run() {
new Thread(new Runnable() {

@Override
public void run() {
while (true) {
new String("Hello World");
}
}
}).start();
}

当我通过 PS 或 pmap 监视进程时,RSS 部分增加,而 jvisualvm 报告堆稳定。

如果我总结所有 RSS 匿名映射,它们会随着时间的推移而增加。

我使用 Centos 5.7 x64 和 Sun JDK 1.6.0_31。

RSS 是否应该随着时间的推移而增加?

最佳答案

随着后台任务将更多代码/资源带入内存,RSS 会随着时间的推移而增加。在你的例子中,它不应该太多。注意:如果您在另一个 JVM 实例中使用共享库,该共享库将加载到内存中,这可能会增加您的 RSS。

通常最好找到能说明您的问题的最简单的示例。是否必须是 500 个线程,或者只是您拥有的核心数量?当您有一个繁忙的线程时会发生这种情况吗?如果您改为创建一个 new Object() 会怎样?如果你忙着等待而没有创建对象怎么办?

关于java - 当堆稳定时诊断 Java 中的 RSS 泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9378201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com