簡體   English   中英

設置Java服務器的堆大小的規則或准則

[英]Rules or guidelines for setting the heap size for java server

我對特定的應用程序或環境不感興趣。 盡管我現在在應用程序部署中遇到了這個問題,但我對更通用的解決方案感興趣。

關於在Java服務器上設置堆大小有多大的規則? (特別是現在,我正在使用Tomcat 7 )。 使用-Xms-Xmx可以分別指定堆大小的最小值和最大值。 根據服務器上部署的應用程序,如何知道要設置的最大和最小堆大小。 有沒有找到與已部署應用程序相關的通用方法? -“與已部署的應用程序相關”是指您必須知道應用程序在做什么, 數據庫工作, 用戶界面工作或任何其他內存使用程序

我已經在多家公司完成了Java Web應用程序,對於所有公司來說,這完全是憑經驗進行的。 這主要取決於機器,而不取決於應用程序。 例如,如果您有一台只有Tomcat服務器的4GB機器,那么您允許它占用3GB。 如果服務器的內存不足,請嘗試修復它或購買更多的內存...我認為這比付錢給某人來計算所需的內存要便宜...

我認為在大公司中也是如此,這不是秘密...

這是經驗性的-觀察您的應用程序並查看其行為。

還有更多內容-對於初學者來說,請閱讀有關內存池及其大小的信息 如果您有興趣,請訪問http://www.javaperformancetuning.com/-有關調優內存問題的材料很多,還有更多內容。

現在,在通常情況下,您不必理會-Xms -Xmx設置為您的應用程序需要的任何值(觀察一下以了解)。 JVM會在需要時增加內存池的大小,並相應地減少它們。 只要確保您沒有收到OutOfMemoryError 然后,在您的應用程序中查找內存瓶頸(例如完整的GC或長時間停工階段),並確定池的大小和/或根據需要配置GC。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM