伺服器記憶體被佔滿不釋放的解決過程

2021-10-25 08:10:22 字數 674 閱讀 1367

centos7+服務部署完10秒,檢視記憶體被佔80%+

本人近期遇到的問題:

專案架構為springboot+dubbo+mysql+redis

服務在本地環境執行沒有問題,部署到線上10秒左右,好多的功能頁面出現超時以及載入慢的問題,

問題排查:

1.資料庫是否存在等待執行緒,是否存在死鎖

2.伺服器cpu以及記憶體是否被占用過大

經排查,發現伺服器記憶體持續增加,一直到80%+,導致整個服務宕掉,但是並不能發現是哪個服務導致的記憶體占用不放,在伺服器安裝了htop,使用命令發現是*****service包占用服務記憶體過大。

原因呢,也是本人疏忽大意之舉,emmmmmm。本人通過**的方式根據業務進行分表操作,並且做了讀寫分離,由於是測試伺服器,只安裝了乙個mysq,讀庫呢引擎選擇了myisam引擎,由於myisam引擎是表級別,所以進行壓測新增資料的時候,導致執行緒等待,越積越多,從而記憶體居高不下。後通過,redis做資料快取,然後非同步儲存mysql。

可能設計上有些問題,但是經測,讀寫庫搭建完成後,使用者體驗度還是蠻高的。技術並非是一本正經的照貓畫虎,而是大膽的去嘗試一些自己的想法,只要安全性保證,客戶體驗度高。那就是可以的!

本次由於問題已經解決,過程雖然複雜漫長,但是過程中所遇到的問題沒能留下截圖,以後會盡量把遇到並解決的問題留圖供大家指導!!

TCP之再談解決伺服器TIMEWAIT過多的問題

這個問題在網上已經有很多人討論過了,再談這個問題,只是根據我處理過的相關業務來談談我的看法。至於什麼是timewait,我想,並不需要多說。timewait狀態本身 和應用層的客戶端或者伺服器是沒有關係的。僅僅是主動關閉的一方,在使用fin ack fin ack四分組正常關閉tcp連線的時候 ti...

Tomcat伺服器的埠號老是被占用解決方案

現在我們作為開發,每天都會有很多問題出現,往往是軟體bug問題,但是只有軟體bug就很苦惱了,而有時系統還會出現各種問題,今天我們就來說說埠占用的問題,埠占用會導致服務無法啟動,系統都無法應用了,還怎麼解決bug呢?是不是。所以今天我們就來說說埠的問題.既然我們說門說埠的問題,就要說一下,什麼情況才...

4伺服器記憶體和普通記憶體 關於伺服器記憶體的選擇

這裡寫下網上找到的定義 ecc是一種校驗,recc的r表示register,暫存器。ecc記憶體就是單指的 unbuffer ecc,其 和普通記憶體相比只貴10 20 從外觀來說,unbuffer ecc記憶體因為要滿足效驗糾錯的需要,加入了一顆ecc效驗顆粒,由於採用的是tosp封裝,使得記憶體...