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程序。
相關推薦
Linux下Tomcat VM引數修改
不可行的方法 最初我直接修改catalina.sh, 將JAVA_OPTS變數加上了 -server -Xms1G -Xmx1G -XX:+UserG1GC 最初看起來沒啥問題,但是當伺服器執行幾天後,發現執行shutdown.sh無法關閉tomcat
Linux下Tomcat的安裝、啟動、關閉以及配置檔案的修改
安裝 前往tomcat官網https://tomcat.apache.org下載需要的版本。下面以 tomcat8 為例,下載過程如下: 設tomcat安裝包所在目錄為tomcat_download,使用如下命令解壓到資料夾中即完成安裝: tar -xvzf apache-
總結linux下tomcat修改埠失敗的原因
1.埠被佔用 tomcat修改的埠已經被佔用,檢視埠是否被佔用:netstat -an | grep 80 如:tomcat埠號修改為80,已經被apache伺服器佔用。 2 .防火牆問題 關閉防火牆或者防火牆中新增對應的埠
linux下tomcat指定jdk和配置執行引數
1.指定執行jdk 1)setclasspath.sh和catalina.sh中寫入: export JAVA_HOME=/home/manager/java/jdk1.8.0_121 export J
【轉】Linux下tomcat修改成的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
Linux下Tomcat設置內存解決內存溢出
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
Linux下tomcat無法啟動/啟動後無法用過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
Linux下Tomcat開機自動啟動
權限 esc ref 進程 chkconfig lin 自啟動腳本 lock cas linux下tomcat開機自動啟動有兩種方法,一種是簡單,一種是復雜而又專業的,使用shell腳本要實現,我們一般推薦shell腳本啟動方式。下面我們分別介紹這兩種方法。 1.shel
Windows下war包部署到Linux下Tomcat出現的問題
width es2017 文件的 ls -l chm 可能 發的 問題解決 wan 最近,將Windows下開發的war包部署到Linux下的Tomcat時報了一個錯誤:tomcat error in opening zip file。按理說,如果正常,當把war包復制到w
Linux下Tomcat安裝配置
雲服務器 比較 ini rip mirrors /usr function connector 根據 買了臺阿裏雲服務器,因為配置比較低,所以用Linux系統,這裏記錄一下我在Linux系統中Tomcat的安裝配置。 前提JDK已經安裝好。 安裝 首先在/usr/local
Linux下Tomcat啟動正常,但瀏覽器無法訪問
需要 ipv4 cal dir load service ice /usr ping 1,服務器可ping通 2,服務器抓本地的http請求包,可以抓到 3,本地抓服務器返回的http響應包,抓不到 經過查找,是由於開啟了Linux防火墻 查看防火墻配置(需要root權
linux下tomcat無法訪問中文路徑或中文文件
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
Linux下tomcat啟動
.sh ogg 復制 erl ssl article shutdown awt wsize 在Linux系統下,重啟Tomcat使用命令操作的! 首先,進入Tomcat下的bin目錄 cd /usr/local/tomcat/bin 使用Tomcat關閉命令 ./s
Linux下tomcat啟動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
linux下tomcat安裝
tar.gz 設置 war 一點 http org 技術 iptable 保存 1、下載安裝包 官網地址:https://tomcat.apache.org/download-70.cgi 選擇合適的版本:我這裏選擇的是tomcat 7.0.85,可根據需要下載 apa
Linux下Tomcat的安裝與配置
Linux Tomcat首先要確定你的Linux上已經安裝好了JDK,並在/etc/profile 中完成環境變量配置。 安裝Tomcat軟件訪問http://tomcat.apache.org/download-60.cgi 下載tar.gz版本 [root@localhost ~]# tar -zxvf