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

dan*_*dle 9 java memory coldfusion

我正在使用以下ColdFusion代码计算已用内存.

 runtime = CreateObject("java", "java.lang.Runtime").getRuntime();
Run Code Online (Sandbox Code Playgroud)

然后在循环中我执行以下操作来计算已用内存.

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

这告诉我从我的页面开始就使用了近200 MB.这是CF服务器使用了多少,或者这只是我页面的一些开销?

Pet*_*rey 6

运行时为您提供已分配的堆量.这包括对象和TLAB,因此实际使用的内存量略小于此值.这是整个JVM使用的数量,包括ColdFusion服务器或您正在运行的任何其他应用程序或库.无法跟踪单个页面或线程正在使用多少内存,而内存不是页面或线程的本地内存.