程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> linux-java 程序內存占用的問題

linux-java 程序內存占用的問題

編輯:編程綜合問答
java 程序內存占用的問題

最近在維護一個java 程序 有關內存占用的問題,請各位大神科普。

在本地 windows 上 啟動tomcat 占用內存 幾十 M
期間處理的任務
1.程序向另一個服務器建立 客戶端連接 200多條 (netty) 並保持長連 每過80秒發送心跳。可用內存在每一次心跳都會有一定的下降並且沒有回升
2.有個Thread 會每過10秒到數據庫(mysql)獲取記錄 ,創建五條Thread(最大5條)對記錄獲取相關的連接(以上200多條連接中獲取)進行處理,可用內存也會下降

在已用內存到達一定高度,可用內存便會回升,這是在windows 測試的結果,內存使用情況我覺得很健康

放在linux 服務器上 tomcat 啟動內存就占用了200M多,每次心跳和處理記錄也在增加,但內存達到一定高度 可用內存並沒有回升,tomcat直接內存溢出了(生產環境)

我把測試環境的監控貼出來唉大家幫幫忙分析一下

綠色是tomcat開啟動時
圖片說明

最佳回答:


linux服務器支持的內存理論上限是4G,修改內核以後能到32G,我的一個朋友做過一台16G的服務器,能認出來。

如果kernel啟用了PAE(物理地址擴展),則可以支持 到 64GB 內存。
以前(2009)需要安裝PAE-kernel才支持大於4G。

但是,建議裝 64bit Linux。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved