1. 程式人生 > >Linux下Tomcat VM引數修改

Linux下Tomcat VM引數修改

不可行的方法

最初我直接修改catalina.sh, 將JAVA_OPTS變數加上了

-server -Xms1G -Xmx1G -XX:+UserG1GC

最初看起來沒啥問題,但是當伺服器執行幾天後,發現執行shutdown.sh無法關閉tomcat, 錯誤資訊如下:

# [email protected]:~/projects/taolijie# cat hs_err_pid5519.log 
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 1073741824 bytes for committing reserved memory.
# Possible reasons: # The system is out of physical RAM or swap space # In 32 bit mode, the process size limit was hit # Possible solutions: # Reduce memory load on the system # Increase physical memory or swap space # Check if swap backing store is full # Use 64 bit Java on a 64 bit OS
# Decrease Java heap size (-Xmx/-Xms) # Decrease number of Java threads # Decrease Java thread stack sizes (-Xss) # Set larger code cache with -XX:ReservedCodeCacheSize= # This output file may be truncated or incomplete. # # Out of Memory Error (os_linux.cpp:2673), pid=5519, tid=3061726064 # # JRE version: (8.0_45-b14) (build )
# Java VM: Java HotSpot(TM) Server VM (25.45-b02 mixed mode linux-x86 ) # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again #

關閉個tomcat要請求1G的記憶體, 當時伺服器就剩下200M記憶體,所以Out Of Memory了。檢視shutdown.sh,發現它其實還是呼叫了catalina.sh,只是傳入了一個stop引數。而catalina.sh是執行了

org.apache.catalina.startup.Bootstrap stop

來向tomcat傳送關閉資訊的。由於上面我們設定了JAVA_OPTS使用1G的堆,因此執行該類時JVM會向系統申請1G多的記憶體,直接導致Out Of Memory。

可行的方法

catalina.sh的第二行新增:

CATALINA_OPTS="$CATALINA_OPTS -server -Xms1G -Xmx1G -XX:+UseG1GC"

這些VM引數就會只應用到catalina而不是所有Tomcat程序。

相關推薦

LinuxTomcat VM引數修改

不可行的方法 最初我直接修改catalina.sh, 將JAVA_OPTS變數加上了 -server -Xms1G -Xmx1G -XX:+UserG1GC 最初看起來沒啥問題,但是當伺服器執行幾天後,發現執行shutdown.sh無法關閉tomcat

LinuxTomcat的安裝、啟動、關閉以及配置檔案的修改

安裝 前往tomcat官網https://tomcat.apache.org下載需要的版本。下面以 tomcat8 為例,下載過程如下: 設tomcat安裝包所在目錄為tomcat_download,使用如下命令解壓到資料夾中即完成安裝: tar -xvzf apache-

總結linuxtomcat修改埠失敗的原因

    1.埠被佔用       tomcat修改的埠已經被佔用,檢視埠是否被佔用:netstat -an | grep 80  如:tomcat埠號修改為80,已經被apache伺服器佔用。     2 .防火牆問題         關閉防火牆或者防火牆中新增對應的埠

linuxtomcat指定jdk和配置執行引數

1.指定執行jdk 1)setclasspath.sh和catalina.sh中寫入: export JAVA_HOME=/home/manager/java/jdk1.8.0_121 export J

【轉】Linuxtomcat修改成的80埠無法訪問

原文出自:https://blog.csdn.net/u013252047/article/details/72834415tomcat放到伺服器上訪問8080埠還需要輸入埠號,造成訪問不便,好多人需要換成80埠。改變埠號很簡單,在tomcat/conf/server.xml

Linux tomcat設定JVM引數

編輯 tomcat/bin 下catalina.sh 在第一行加入 JAVA_OPTS="-Xms36m -Xmx36m -Xss256K -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -Xloggc:/var/tomcat

LinuxTomcat設置內存解決內存溢出

logs server nco gen exec space 設置 xms mem 最近使用tomcat做服務器,項目中有個導入excel,數據大約2萬左右。在本地eclipse調試導入沒問題。 但是部署到linxu後就報 "http-bio-8080-exec-4" j

linux tomcat的安裝

無法訪問 用戶 variable 瀏覽器中 sys exp 開始 col gin 寫在前面: 由於項目使用jdk1.6開發,所以對應服務器應安裝jdk1.6和tomcat6 1、環境變量的配置: 打開/etc/bashrc配置環境變量 JAVA_HOME=/us

Linuxtomcat無法啟動/啟動後無法用過127.0.0.1:8080訪問解決方案

clas java require com 自己的 bug jpda force comm 啟動tomcat情況如下: [email protected]:/usr/local/tomcat/apache-tomcat-8.5.20/bin# ./catalina

Linux tomcat基於nginx做負載均衡

tomcat 負載 測試目的:在一臺裝有nginx服務器上訪問nginx這臺的ip地址,刷新一次就會顯示後端三臺不同的tomcat服務器的測試頁。測試環境:三臺centos 6.8 一臺 centos 7.3軟件版本: nginx 1.12.1

LinuxTomcat開機自動啟動

權限 esc ref 進程 chkconfig lin 自啟動腳本 lock cas linux下tomcat開機自動啟動有兩種方法,一種是簡單,一種是復雜而又專業的,使用shell腳本要實現,我們一般推薦shell腳本啟動方式。下面我們分別介紹這兩種方法。 1.shel

Windowswar包部署到LinuxTomcat出現的問題

width es2017 文件的 ls -l chm 可能 發的 問題解決 wan 最近,將Windows下開發的war包部署到Linux下的Tomcat時報了一個錯誤:tomcat error in opening zip file。按理說,如果正常,當把war包復制到w

LinuxTomcat安裝配置

雲服務器 比較 ini rip mirrors /usr function connector 根據 買了臺阿裏雲服務器,因為配置比較低,所以用Linux系統,這裏記錄一下我在Linux系統中Tomcat的安裝配置。 前提JDK已經安裝好。 安裝 首先在/usr/local

LinuxTomcat啟動正常,但瀏覽器無法訪問

需要 ipv4 cal dir load service ice /usr ping 1,服務器可ping通 2,服務器抓本地的http請求包,可以抓到 3,本地抓服務器返回的http響應包,抓不到 經過查找,是由於開啟了Linux防火墻 查看防火墻配置(需要root權

linuxtomcat無法訪問中文路徑或中文文件

tomcat linux 中文路徑 中文url linux下tomcat中文文件路徑訪 問題描述:linux環境下tomcat發布了包含中文名字的頁面和文件,瀏覽器訪問報404,非中文頁面沒有問題;本人為RP設計的原型圖發布,其中包含了大量的中文文件和路徑解決步驟:第一步,設置tomcat

linux tomcat 日誌亂碼/中文鏈接404

sysconf pts body linu bsp uri 引用 設置 red 1 日誌亂碼: JDK引用的設置 Java引用參數添加”-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8” 將上面參數添加到Catalina.sh中J

Linuxtomcat啟動

.sh ogg 復制 erl ssl article shutdown awt wsize 在Linux系統下,重啟Tomcat使用命令操作的! 首先,進入Tomcat下的bin目錄 cd /usr/local/tomcat/bin 使用Tomcat關閉命令 ./s

Linuxtomcat啟動Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of

環境 技術分享 variable ava eight 錯誤 mbr bin p s 在linux下安裝好tomcat啟動時報如下錯誤: Neither the JAVA_HOME nor the JRE_HOME environment variable is defin

linuxtomcat安裝

tar.gz 設置 war 一點 http org 技術 iptable 保存 1、下載安裝包 官網地址:https://tomcat.apache.org/download-70.cgi 選擇合適的版本:我這裏選擇的是tomcat 7.0.85,可根據需要下載 apa

LinuxTomcat的安裝與配置

Linux Tomcat首先要確定你的Linux上已經安裝好了JDK,並在/etc/profile 中完成環境變量配置。 安裝Tomcat軟件訪問http://tomcat.apache.org/download-60.cgi 下載tar.gz版本 [root@localhost ~]# tar -zxvf