Linux 下tomcat錯誤分析
問題現象:
Tomcat(8.5.13)部署了SuperMap iServer,並髮用戶在100左右。系統運作一段時間後,服務崩潰。異常提示
問題分析:
1、看到日誌中的提示訊息後,認為是系統記憶體不足導致的。於是在伺服器上新增了監控腳本(如下圖),每1s記錄一次系統記憶體和tomcat記憶體。
監控一段時間後,異常再次出現。從日誌中並未發現記憶體異常
2、記憶體排除後,思路轉到是否是由於並髮用戶數太多,導致的進程數超出呢?
1)查看linux 目前使用者的資源限制參數 ulimit -a
2)在上面這些參數中,關注得比較多的是一個進程可開啟的最大檔案數,即open files。系統允許建立的最大進程數量就是max user processes 這個參數。 我們可以使用 ulimit -u 4096 來修改max user processes的值,但是只能在目前終端機的這個session裡面生效,重新登入後還是會使用系統預設值。
正確的修改方式是修改/etc/security/limits.d/90-nproc.conf檔案中的值。先看一下這個檔案包含什麼:
$ cat /etc/security/limits.d/90-nproc.conf # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 4096
我們只要修改上面檔案中的4096這個值,即可。
經過排查,確實是由於伺服器目前使用者設定的最大進程數設定太小導致的無法建立進程,崩潰。
參考:
#linux 查看目前流程:
以上是Linux 下tomcat錯誤分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

若要將 JAR 專案部署到 Tomcat,請遵循以下步驟:下載並解壓縮 Tomcat。配置 server.xml 文件,設定連接埠和專案部署路徑。將 JAR 檔案複製到指定的部署路徑中。啟動 Tomcat。使用提供的 URL 存取已部署的項目。

要讓 Tomcat 伺服器對外網訪問,需要:修改 Tomcat 設定文件,允許外部連接。新增防火牆規則,允許存取 Tomcat 伺服器連接埠。建立 DNS 記錄,將網域名稱指向 Tomcat 伺服器公有 IP。可選:使用反向代理提升安全性和效能。可選:設定 HTTPS 以提高安全性。

Tomcat 安裝目錄:預設路徑:Windows:C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9自訂路徑:安裝時可指定。尋找安裝目錄:使用 whereis 或 locate 指令。

要透過 Tomcat 部署多個項目,需要建立每個專案的 webapp 目錄,然後:自動部署:將 webapp 目錄放置在 Tomcat 的 webapps 目錄中。手動部署:在 Tomcat 的 manager 應用程式中手動部署專案。專案部署後,可以透過其部署名稱訪問,例如:http://localhost:8080/project1。

查看Tomcat並發連線數的方法:造訪Tomcat Manager頁面(http://localhost:8080/manager/html),輸入使用者名稱和密碼。在左側導覽列中點選Status->Sessions,即可在頁面頂部看到並發連線數。

Tomcat 網站根目錄位於 Tomcat 的 webapps 子目錄中,用於儲存 Web 應用程式檔案、靜態資源和 WEB-INF 目錄;它可以透過尋找 Tomcat 設定檔中的 docBase 屬性來找到。

Tomcat埠號碼可透過以下方法檢視:檢查server.xml檔案中的<Connector>元素的port屬性。造訪Tomcat管理介面(http://localhost:8080/manager/html)並查看"Status"標籤。在命令列中運行"catalina.sh version"並查看"Port:"行。

在Tomcat伺服器上執行不同連接埠號碼的專案需要以下步驟:修改server.xml檔案並新增Connector元素以定義連接埠號碼。新增Context元素以定義與連接埠號碼關聯的應用程式。建立WAR檔案並部署到對應目錄(webapps或webapps/ROOT)。重啟Tomcat以應用更改。
