我正在尝试start 的演示,这是一个基于 dart 构建的非常简单的网站。
我运行的时候,初始内存使用量是10M,但是当我访问首页时,一次次刷新,内存增长很快,一直到78M,再也回不来了。
我想找出内存是什么用的,有没有内存泄漏,但是不知道怎么做。是否有任何工具可以帮助我分析飞镖应用程序?
评论中已经指出,有一些方法可以从 Linux 上的 VM 获取 CPU 配置文件(https://code.google.com/p/dart/wiki/Profiling)。
据我了解,您真正需要的是获取堆或内存配置文件。虽然可以在程序终止时打印对象直方图(见下文),但我们没有任何方便的方法在服务器运行时获取对象直方图。我们确实希望能够在接下来的几个月中添加此功能。
要在 Dart 脚本退出时打印对象直方图,您应该将标志 --print_object_histogram 传递给 Dart VM。这将打印程序生命周期内每个主要 GC 结束时活动对象的平均值。这可以很好地获得快速概览,但不适合追踪和识别真正的问题。