gpt4 book ai didi

java - 如何分析 App Engine Java 上的实际内存使用情况?

转载 作者:IT王子 更新时间:2023-10-28 23:38:35 26 4
gpt4 key购买 nike

我有一个在自动扩展的 F1 实例(600 Mhz,128 MB RAM)上运行的 App Engine Java 应用程序。预热后,仪表板显示的每个实例的内存使用量保持在大约 220 MB。根据docs ,这包括“运行时开销”。

  • 我是否正确地假设这个数字反射(reflect)了最大 permgen 和堆大小,但不一定是实际使用的数字?我从未收到内存不足错误。
  • 在生产环境中分析内存使用情况的最佳方法是什么?尽管有 App Engine 的运行时限制,有没有办法执行堆转储?

使用例如 VisualVM 的本地分析无法提供准确的图片,因为它包括开发服务器、内存中的 Datastore 和 Memcache 版本等。总共添加了多达 8,000 个加载的类(包括开发服务器、我自己的类和大约 85 个库),生成的 permgen 大小为 50 MB,在完全垃圾回收后最小堆大小为 50 MB。

我的问题的一些背景知识:调度程序有时(通常在完成常规同步作业后的前几个请求期间)启动一个新实例来处理通常仅由一个实例处理的请求负载。在更多请求之后,所有请求将再次完全一致地路由到第一个实例。基于概述的调度程序规则集here ,我试图弄清楚这种行为是否可能是由于调度程序预测(临时)缺乏实例内存来处理额外的请求。

最佳答案

What is the best way to analyze the memory usage in the production environment? Is there a way to perform a heap dump despite App Engine's runtime restrictions?

没有什么好办法。检测工具没有得到很好的支持。

关于java - 如何分析 App Engine Java 上的实际内存使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23782097/

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