Linux系統效能問題定位 記憶體洩露

2021-06-10 02:57:20 字數 727 閱讀 6839

問題描述:

500使用者併發執行半小時後效能急劇下降。

tps(每秒處理事務數)曲線圖如下:

執行前半小時,tps約640;半小時後,tps急劇下降(在20-100範圍內波動)。

圖-1

平均響應時間曲線圖如下:

執行前半小時,平均響應時間約1秒;半小時後,響應時間急劇上公升(在4-20秒範圍內波動)。

圖-2

備註:測試環境拓撲圖

圖-3圖-4

2.         再分析nmon的men資料可知系統空閒記憶體逐步減小,半小時左右記憶體降到最低值(見圖-5),存在記憶體洩露;同時結合nmon的vm資料可知,當記憶體降到最低值(記憶體不足)時,系統開始頻繁的在交換區寫入寫出(見圖-6)。交換區頻繁的寫入寫出操作占用了大量的io開銷,導致上述的磁碟io瓶頸。

圖-5圖-6

3.  

根據上述對nmon監控資料的分析可知,linux系統上存在記憶體洩露,當記憶體不足時系統效能就急劇下降。因為linux系統上同時部署db資料庫服務和astrotest後台程式,在測試執行中,使用top命令可知db資料庫服務的記憶體占用很小,astrotest程式占用了大量記憶體。即astrotest程式存在記憶體洩露。

4.  

分析astrotest程式,發現在取資料庫的**中有個結構沒有釋放。這最終導致系統記憶體洩露。

修改astrotest程式**,及時釋放該結構。

Linux系統效能之記憶體(memory)

在安裝linux系統的時候,通常會選擇這麼個分割槽,這個交換分割槽 swap space 是用來幹啥的呢?交換分割槽就是使用硬碟的一部分作為記憶體ram的擴充套件。核心會將當前不使用記憶體資料寫到硬碟的這部分,騰出記憶體的這部分空間用以其他的使用。當需要使用這部分資料的時候,重新再讀回到記憶體。讀寫...

Linux 系統效能

要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,ps命令就是最基本程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態 程序是否結束 程序有沒有殭屍 哪些程序占用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到。ps是顯示瞬間程序的狀態,並不動態連續...

Linux系統效能優化

由於各種的i o負載情形各異,linux系統中檔案系統的預設配置一般來說都比較中庸,強調普遍適用性。然而在特定應用下,這種配置往往在i o效能方面不能達到最優。因此,如果應用對i o效能要求較高,除了採用效能更高的硬體 如磁碟 hba卡 cpu mem等 外,我們還可以通過對檔案系統進行效能調優,來...