java.lang.Runtime是否报告整个Coldfusion服务器的内存使用情况还是只报告一个页面的情况?

9
我正在使用以下ColdFusion代码计算已使用内存。
 runtime = CreateObject("java", "java.lang.Runtime").getRuntime();

然后我在一个循环中执行以下操作来计算已使用的内存。

var usedGB = (runtime.totalMemory() - runtime.freeMemory()) / 1024.^3; // bytes -> KB -> MB -> GB

这告诉我,从我的页面开始就使用了近200MB。这是由CF服务器使用的量,还是只是来自我的页面的一些开销?
2个回答

6

Runtime提供了已分配的堆内存量。这包括对象和TLAB,因此实际使用的内存量略小于此值。 这是整个JVM(包括ColdFusion服务器或您运行的任何其他应用程序或库)使用的内存量。 没有办法跟踪单个页面或线程使用多少内存,内存也不是页面或线程本地的。


1

totalMemoryfreeMemory都报告JVM的使用情况 - 我期望这是CF服务器(除非您还在同一JVM中运行其他东西)。当然,还有任何JVM开销。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接