Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000794500000, 576716800, 0) failed; error='Cannot allocate memory' (errno=12)
淡定,不要着急
這個問題引起的原因是:服務器上物理內存太小,大部分都是應為程序太多,內存吃緊,而給jvm分配的內存太大(java程序啟動需要的內存,linux不能給),最好調整java程序jvm內存吧(測試環境下)
解決方案:
1.linux上利用top命令查看所有進程,看看那些進程占用的內存太大了,選擇性的kill,釋放內存,但這個需要了解清楚,安歇進程是不需要的。
2.調整tomca中對jvm內存的配置,因為jvm主要內存就是指jvm堆內存。
所以解決方案:JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m"
將上述堆的最小內存-Xms256最小內存設置的更小點,舉例子:之前 -Xms2048m 。2048M太大,可能物理內存都沒那么大,那么改成-Xms256(我調成256),后期可以根據需要調整,或者加內存條。
我通常使用的第二種決絕方案,控制在自己應用程序范圍內。
JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m" 放在linux的那個地方呢?
cd 到tomcat的/bin目錄下,找到catalina.sh文件
---------------------
作者:程序員YONG
來源:CSDN
原文:https://blog.csdn.net/qq_17231297/article/details/80663416
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!