有什么方法可以调查 Google App Engine 实例的 Java 虚拟机的堆/堆栈中包含什么?
在 Google App Engine Dashboard 中,我们可以看到内存使用率较高的实例。
例如访问https://appengine.google.com/instances我们看到...
模块:默认版本:v5372(默认) 应用总数 平均 平均 平均 引擎编号 QPS* 延迟* 内存 实例发布 1.8.5 总共 6 个(1 个常驻) 0.008 1521.3 ms 174.6 MBytes 实例 QPS* Latency* Requests Errors Age Memory App Engine Release 可用性 0.000 0.0 毫秒 119 0 2:37:30 222.6 MB 1.8.5 常驻 0.050 1521.3 毫秒 911 0 1:37:12 250.4 MB 1.8.5 动态 0.000 0.0 毫秒 2 0 0:01:52 132.4 MB 1.8.5 动态 0.000 0.0 毫秒 51 0 2:47:17 186.8 MB 1.8.5 动态 0.000 0.0 毫秒 2 0 2:46:57 88.1 MB 1.8.5 动态 0.000 0.0 毫秒 29 0 2:48:05 167.5 MB 1.8.5 动态
...无法弄清楚 200 MB 中存储了什么?!?
...在服务器端,我们使用Guice进行注入,所有服务器端类都注释为@RequestScoped(...应该在处理请求时释放),除了注释为@Singleton的ObjectifyFactory(...这只有一个应该保留在 JVM 堆中)。
在此先感谢
蒂诺