欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

tomcat?websocket?WsFrameServer內(nèi)存溢出的問題解決

 更新時間:2024年12月24日 08:37:32   作者:憤怒的蘋果ext  
本文主要介紹了tomcat?websocket?WsFrameServer內(nèi)存溢出的問題解決,文中通過圖文示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

WebSocket連接上了300以后JVM就報內(nèi)存溢出了,把JVM溢出的堆棧日志導(dǎo)了出來這是詳情:

 648 instances of "org.apache.tomcat.websocket.server.WsFrameServer", loaded by "java.net.URLClassLoader @ 0x80f923a8" occupy 1,598,429,376 (96.40%) bytes. These instances are referenced from one instance of "java.util.concurrent.ConcurrentHashMap$Node[]", loaded by "<system class loader>"

Keywords
java.util.concurrent.ConcurrentHashMap$Node[]
org.apache.tomcat.websocket.server.WsFrameServer
java.net.URLClassLoader @ 0x80f923a8

這里寫圖片描述

這里寫圖片描述

這里寫圖片描述

可以看到WsFrameServer里面有2個變量messageBufferText和messageBufferBinary占用內(nèi)存比較大。那么來看下源碼,一般項(xiàng)目不會導(dǎo)入tomcat的jar,所以如果在項(xiàng)目里找不到WsFrameServer就先導(dǎo)入tomcat的包。

這里寫圖片描述

  • WsFrameServer繼承WsFrameBase ,messageBufferText和messageBufferBinary屬性就在WsFrameBase里,然后我們來debug程序,看看是怎么設(shè)置的值。

  • WsFrameServer里面會調(diào)用WsSession的構(gòu)造方法有給messageBufferText和messageBufferBinary賦默認(rèn)值2個都是8192大概是8K,然后再通過WsSession里面的get屬性方法拿到這2個值。

這里寫圖片描述

這里寫圖片描述

然后走到了WsWebSocketContainer , setDefaultMaxTextMessageBufferSize方法設(shè)置值,這里的值是819200大概是800K

這里寫圖片描述

然后再走看是哪里調(diào)用的這個方法:

這里寫圖片描述

這里寫圖片描述

設(shè)置messageBufferText和messageBufferBinary的地方就是ServletServerContainerFactoryBean,最后發(fā)現(xiàn)在spring的配置文件中配置了這2個值:

這里寫圖片描述

把這個后面2個屬性的值減少2個0,連接數(shù)明顯增大了,也沒報內(nèi)存溢出了。

到此這篇關(guān)于tomcat websocket WsFrameServer內(nèi)存溢出的問題解決的文章就介紹到這了,更多相關(guān)tomcat websocket內(nèi)存溢出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實(shí)現(xiàn)表單數(shù)據(jù)驗(yàn)證的實(shí)例代碼

    vue實(shí)現(xiàn)表單數(shù)據(jù)驗(yàn)證的實(shí)例代碼

    這篇文章主要介紹了vue實(shí)現(xiàn)表單數(shù)據(jù)驗(yàn)證的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 啟動tomcat時 錯誤: 代理拋出異常 : java.rmi.server.ExportException: Port already in use: 1099的解決辦法

    啟動tomcat時 錯誤: 代理拋出異常 : java.rmi.server.ExportException: Port

    這篇文章主要介紹了啟動tomcat時 錯誤: 代理拋出異常 : java.rmi.server.ExportException: Port already in use: 1099的解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • Linux下重啟多個 tomcat 服務(wù)的腳本(推薦)

    Linux下重啟多個 tomcat 服務(wù)的腳本(推薦)

    由于修改tomcat的配置文件或手動操作數(shù)據(jù)庫數(shù)據(jù)后,tomcat的緩存和redis的緩存很嚴(yán)重,需要經(jīng)常重啟tomcat來釋放緩存,經(jīng)常就是手動重啟。下面給大家分享Linux下重啟多個 tomcat 服務(wù)的腳本,一起看看吧
    2017-06-06
  • Tomcatc3p0配置jnid數(shù)據(jù)源2種實(shí)現(xiàn)方法解析

    Tomcatc3p0配置jnid數(shù)據(jù)源2種實(shí)現(xiàn)方法解析

    這篇文章主要介紹了Tomcatc3p0配置jnid數(shù)據(jù)源2種實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • tomcat啟動報錯:java.util.zip.ZipException的解決方法

    tomcat啟動報錯:java.util.zip.ZipException的解決方法

    這篇文章主要給大家介紹了關(guān)于tomcat啟動報:java.util.zip.ZipException錯誤的解決方法,文中通過示例代碼介紹的非常詳細(xì),同樣遇到這個問題的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Tomcat配置gzip壓縮提高瀏覽網(wǎng)站的速度

    Tomcat配置gzip壓縮提高瀏覽網(wǎng)站的速度

    HTTP 壓縮可以大大提高瀏覽網(wǎng)站的速度,相對于普通的瀏覽過程HTML ,CSS,Javascript , Text ,它可以節(jié)省40%左右的流量
    2014-09-09
  • tomcat同時使用http和https訪問的配置方法

    tomcat同時使用http和https訪問的配置方法

    這篇文章主要介紹了tomcat同時使用http和https訪問的配置方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Tomcat多實(shí)例部署及配置原理

    Tomcat多實(shí)例部署及配置原理

    這篇文章主要介紹了Tomcat多實(shí)例部署及配置過程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Tomcat如何配置訪問日志和線程數(shù)

    Tomcat如何配置訪問日志和線程數(shù)

    Tomcat是一個功能強(qiáng)大且易于使用的Java Servlet容器,適用于開發(fā)和部署各種類型的Java Web應(yīng)用程序,本文主要介紹了Tomcat如何配置訪問日志和線程數(shù),以優(yōu)化性能并提高系統(tǒng)可靠性
    2023-11-11
  • 解析Tomcat架構(gòu)原理到架構(gòu)設(shè)計(jì)

    解析Tomcat架構(gòu)原理到架構(gòu)設(shè)計(jì)

    一般學(xué)習(xí)的時候也是先總覽一下整體,然后逐個部分個個擊破,最后形成思路,了解具體細(xì)節(jié),Tomcat的結(jié)構(gòu)很復(fù)雜,但是Tomcat非常的模塊化,找到了Tomcat最核心的模塊,問題才可以游刃而解,了解了Tomcat的整體架構(gòu)對以后深入了解Tomcat來說至關(guān)重要
    2021-06-06

最新評論