我希望能够分析我的Clojure程序,看看如何使用内存。有没有什么工具可以做到这一点?是否有任何clojure工具可以查看Clojure如何使用JVM内存?
更新:我试图在回答中提到的JVM工具,但这些工具都不让我想象我的任何Clojure的数据结构,虽然他们给我一些指示
我希望能够分析我的Clojure程序,看看如何使用内存。有没有什么工具可以做到这一点?是否有任何clojure工具可以查看Clojure如何使用JVM内存?
更新:我试图在回答中提到的JVM工具,但这些工具都不让我想象我的任何Clojure的数据结构,虽然他们给我一些指示
jvisualvm允许你这么做
执行使用jmap
一个JVM堆转储。然后,您可以将转储加载到Eclipse Memory Analyser,这将显示您正在使用内存的位置。或者,您可以使用jhat
来浏览堆转储。
我试过了。我得到了所有Java类的转储。尽管如此,将每个Java实例映射到clojure仍然相当困难。你用Java或Clojure程序试过了吗? – Zubair 2011-03-24 10:03:26
您是否在Clojure或Java程序上尝试过它? – Zubair 2011-03-24 13:48:26
感谢您的回答。显然只有你和dogbane能够理解这个问题,因为其他人低估了这个问题。我猜有些人不知道Java和Clojure之间的区别,并且他们都运行在JVM上:) – Zubair 2011-03-24 15:07:20