我們有一個託管在AWS雲中的tomcat應用程序。當我分析過去一個月的應用服務器的內存趨勢時,我發現了一些奇怪的東西。我們的服務器總共有15GB內存,7GB分配給HeapSize。我在監控系統中注意到內存利用率報告很高。當我深入挖掘時發現使用的內存是計算包括(mem_used =緩存內存+共享內存+緩衝內存),我們每天都會進行tomcat重啓,但是當我完全重啓系統時,我注意到內存利用率降低了,因爲系統重啓緩存。現在,令我困惑的部分是,tomcat停止/啓動應該釋放所有由JVM分配的內存,那麼爲什麼緩存只有在整個系統重新啓動後才能釋放。 tomcat是否在我們反彈之後刷新緩存?Tomcat應用程序不釋放緩存
1
A
回答
0
因爲您正在查看的緩存是操作系統而非Tomcat的緩存。只要有足夠的RAM,操作系統就會緩存Tomcat應用程序在文件系統上讀取的所有內容。
例如,您的Tomcat安裝的servlet-api.jar
的內容可能會被緩存。對於操作系統級緩存,這些信息只是塊或頁面。如果RAM足夠,每個經常請求的塊都會留在緩存中。
Tomcat停止後,操作系統沒有清除這些信息,因爲緩存應該也有利於啓動。例如。如果重新啓動,JVM可執行文件將不會再從磁盤讀取。
相關問題
- 1. 從內存中釋放UIWebView內容,強制應用程序釋放內存
- 2. SQLite緩存與應用程序緩存
- 3. removeFromParentNode不釋放ARKit中的內存應用程序
- 4. 當應用程序關閉時內存不被釋放
- 5. 註銷WPF應用程序不釋放內存
- 6. iOS [ARC]應用程序不釋放內存
- 7. 緩存應用程序塊
- 8. 緩存Web應用程序
- 9. 應用程序緩存html5
- 10. Tomcat Web應用程序之間的共享緩存
- 11. 釋放linux頁面緩存
- 12. 線程不釋放內存
- 13. Tomcat緩存XHR響應
- 14. 自動釋放池中的內存不會釋放,直到內存警告或應用程序進入背景
- 15. 如何強制通用應用程序釋放內存?
- 16. 如何釋放其他應用程序佔用的內存?
- 17. 使用ARC的iOS應用程序未釋放內存
- 18. 釋放應用程序中的資源?
- 19. java gc釋放應用程序
- 20. 釋放應用程序資源
- 21. 應用程序緩存在工作的Tomcat 6.0,但不是在weblogic 10.3
- 22. 在Vista上緩存的Tomcat應用程序/ catalina日誌,不能被跟蹤
- 23. 刪除Telerik緩存並釋放內存
- 24. Android應用程序放緩並崩潰
- 25. JAVA - Tomcat的5應用程序使用HTTPS,而Tomcat的7應用程序不
- 26. linux上的python cherrypy應用程序未釋放內存
- 27. Titanium Mobile Android:關閉應用程序時未釋放內存
- 28. 如何在iPhone應用程序中可靠地釋放內存?
- 29. 如何在註銷應用程序時釋放內存?
- 30. 如何釋放GUI應用程序中分配的內存?