日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tomcat启动占了12g_tomcat服务为何报内存相关错误??

發布時間:2024/8/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tomcat启动占了12g_tomcat服务为何报内存相关错误?? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本帖最后由 linux_love 于 2014-9-19 11:46 編輯

多謝各位英雄支持,這個問題困擾我N久了,昨天終于讓我給拿下了,在Linux下有個CommitLimit 用于限制系統應用使用的內存資源,

#grep -i commit /proc/meminfo

CommitLimit:? ? 20389524 kB

Committed_AS:? ?18541832 kB

其中:

CommitLimit是一個內存分配上限,

Committed_AS是已經分配的內存大小。

當系統中java程序提交的內存+Committed_AS大于CommitLimit,那么java就會報上面的錯誤。

CommitLimit是有內核參數overcommit_ratio的控制的,

虛擬內存算法:CommitLimit = 物理內存 * overcommit_ratio(默認50,即50%) + swap大小

而我系統中配置的是10,更悲催的是overcommit_memory的值配置的是2,

overcommit_memory參數就是控制分配內存是否可以超過CommitLimit,默認是0,即啟發式的overcommitting handle,會盡量減少swap的使用,root可以分配比一般用戶略多的內存。1表示允許超過CommitLimit,2表示不允許超過CommitLimit。

所以當我把overcommit_ratio的值調為60的時候,內存基本上就夠用了,這個問題就從根本上解決了!

當然我還是將overcommit_memory調為0了,為了避免再次出現這個問題!

參考:http://bkeep.blog.163.com/blog/static/12341429020123795827876/

總結

以上是生活随笔為你收集整理的tomcat启动占了12g_tomcat服务为何报内存相关错误??的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。