Atttached是我的Jconsole的概述显示
正如您所看到的堆内存使用率飙升,CPU使用率也非常尖锐。但是,当堆内存使用量下降(我猜GC发生)时,CPU暂时不会出现峰值。
堆内存增加可能会出现什么问题,这会导致CPU峰值和CPU高利用率。
答案 0 :(得分:0)
标准的while循环使用了大约50%的cpu,所以不要同时使用多个while循环。所以我设计的那个是一个waitBlock,它等待一段特定的时间使用一个阻塞直到有一个inputStream的inputStream,所以如果waitBlock等待0001毫秒,那么循环将每秒运行1000次,所以虽然cpu用法基本上是0%,它有速度限制。根据我的理解使用内存,如果你使用套接字等。你不关闭套接字并继续重新创建它们,内存使用只是构建和构建。如果我知道你在代码中做了什么,我可能会提供更多帮助。
答案 1 :(得分:0)
似乎执行完整GC时,CPU利用率已标准化。