java - 确定任何 webapp 和 -Xms 所需的 -Xmx 和 -Xms 的最佳方法独立应用程序
我想知道如何确定独立应用程序以及在 tomcat 服务器上运行的 Web 应用程序所需的堆大小。
部署到服务器后如何确定相同。
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想知道如何确定独立应用程序以及在 tomcat 服务器上运行的 Web 应用程序所需的堆大小。
部署到服务器后如何确定相同。
谢谢。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
您可以从分析内存使用情况开始。例如,JDK(6 以上)有其 Visual VM。我个人比较喜欢的一个工具是 Eclipse Memory Analyzer,最初来自 SAP,现已开放。您可以分析堆转储或将其连接到您选择的 java 进程。
要以编程方式创建堆转储,您可以使用 这个
You can start with profiling the memory usage. The JDK (6 upwards) has its Visual VM for example. A tool I personally prefer is the Eclipse Memory Analyzer, originally from SAP, now open. You can analyze heap dumps or hook it up to a java process of your choice.
To programmatically create heap dumps you can use this
IBM 用于调整 Java 堆大小,它适用于 IBM SDK,但我认为其他 SDK 的这些设置不会有太大差异。
Rule suggested by IBM for Sizing the Java heap , it is for IBM SDK but i dont think there would be much difference in these settings for other SDK's.
我们在虚拟机上使用
-Xloggc:gc-log.txt
和-XX:+PrintGCdetails
选项,并让它在高 Xmx 设置下运行一段时间(几天),然后您可以使用 GCViewer 从日志中呈现图表并了解何时需要多少 RAM消耗情况,即是否存在峰值、达到限制、GC 负载是否会减慢应用程序速度等。we use the
-Xloggc:gc-log.txt
and-XX:+PrintGCdetails
option on the VM and let it run for a while (days) with hig Xmx settings and then you can use GCViewer to render a diagram from the log and get an idea of when how much RAM was consumed, i.e. whether there were peaks, limits reached, loads of GCs slowing down the App, etc.