自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PG數(shù)據(jù)庫內(nèi)存告警了怎么分析

數(shù)據(jù)庫 其他數(shù)據(jù)庫
PG數(shù)據(jù)庫遇到內(nèi)存問題要立即進(jìn)行分析的場(chǎng)景并不多,因?yàn)榇蠖鄶?shù)PG數(shù)據(jù)庫的內(nèi)存使用率過高的報(bào)警并不意味著內(nèi)存使用情況異常,內(nèi)存真的不夠用了。因?yàn)镻G數(shù)據(jù)庫是使用DOUBLE BUFFERING機(jī)制的,大量的內(nèi)存很可能被BUFFER/CACHE占用了。

?前幾天寫了CPU分析與IO分析的文章,本來昨天想再湊一個(gè)內(nèi)存分析的,不過因?yàn)樽蛱煲淮笤缇腿グ菰L客戶了,所以今天補(bǔ)上。今天早上本來和優(yōu)諾的傲寒約好了去他那里取取經(jīng),聽聽他對(duì)智能化運(yùn)維的看法,不過因?yàn)橐恍┢渌才排R時(shí)取消了,十分遺憾。

PG數(shù)據(jù)庫遇到內(nèi)存問題要立即進(jìn)行分析的場(chǎng)景并不多,因?yàn)榇蠖鄶?shù)PG數(shù)據(jù)庫的內(nèi)存使用率過高的報(bào)警并不意味著內(nèi)存使用情況異常,內(nèi)存真的不夠用了。因?yàn)镻G數(shù)據(jù)庫是使用DOUBLE BUFFERING機(jī)制的,大量的內(nèi)存很可能被BUFFER/CACHE占用了。

圖片

上面的free命令可以看到32G內(nèi)存使用了15G多,但是free只剩下599M了,BUFF/CACHE占了15G多。不過如果我們看available,有9G多,當(dāng)前這個(gè)PG服務(wù)器的內(nèi)存是充足的。從這個(gè)例子上看到,我們看fee命令的結(jié)果的時(shí)候,不應(yīng)該看free,看available更為準(zhǔn)確。

圖片

/proc/meminfo可以更詳細(xì)的看到OS的內(nèi)存情況,我們可以關(guān)注紅框里的幾個(gè)數(shù)字。Dirty是FILE CACHE中尚未寫入磁盤的臟數(shù)據(jù),是無法快速丟棄的內(nèi)存,如果這個(gè)指標(biāo)持續(xù)較高,那么說明OS的回寫機(jī)制或者磁盤存在性能問題,是需要關(guān)注的。PageTalbes如果比較大,對(duì)于PG數(shù)據(jù)庫來說,很可能是配置了較大的shared_buffers,但是沒有啟用HugePages,這樣除了會(huì)影響PG數(shù)據(jù)庫訪問內(nèi)存的性能外,還會(huì)占據(jù)大量的不必要的內(nèi)存。AnonHugePages指標(biāo)大于零說明沒有關(guān)閉透明大頁,而且已經(jīng)使用了透明大頁,對(duì)于PG、Oracle等數(shù)據(jù)庫來說,透明大頁的缺點(diǎn)大于優(yōu)點(diǎn),會(huì)引起內(nèi)存碎片,建議關(guān)閉。另外需要關(guān)注的是SWAP的使用率,如果FREE內(nèi)存很大,但是SWAP使用率超過20%,很可能是OS的NUMA內(nèi)存方面的配置存在問題,沒有全局分配內(nèi)存。

遇到PG數(shù)據(jù)庫的空閑內(nèi)存不足的問題,首先通過這些機(jī)制分析OS內(nèi)存是否真的存在風(fēng)險(xiǎn),如果沒有發(fā)現(xiàn)明顯的風(fēng)險(xiǎn),暫時(shí)就不需要做進(jìn)一步的分析了。如果真的存在風(fēng)險(xiǎn),我們還可以繼續(xù)在OS層面查找。

圖片

ps aux –sort -rss |head -20命令可以查出rss使用最高的20個(gè)進(jìn)程。然后找出存在問題的進(jìn)程,用smem做進(jìn)一步分析。

圖片

如果找到了存在問題的進(jìn)程,可以用smem進(jìn)一步去做分析。其中USS是進(jìn)程私有內(nèi)存,PSS是私有內(nèi)存+共享內(nèi)存的總和。

圖片

如果在OS層面找到了存在問題的進(jìn)程,那么可以使用上面的語句去查找其PG會(huì)話的信息,進(jìn)一步進(jìn)行定位。一般情況下,PG會(huì)話占用較多的內(nèi)存可能是做VACUUM、ANALYZE、排序,表連接、內(nèi)存臨時(shí)表等操作。

如果不存在某個(gè)進(jìn)程使用內(nèi)存過多,而是大量的進(jìn)程都占用差不多的內(nèi)存,那么很可能是數(shù)據(jù)庫并發(fā)執(zhí)行某類SQL,使用了排序,表連接等臨時(shí)內(nèi)存分配。這時(shí)候就要去分析數(shù)據(jù)庫的性能是否存在問題,導(dǎo)致了某類SQL或者某條SQL并發(fā)執(zhí)行量較大。亦或是某條SQL的執(zhí)行計(jì)劃出現(xiàn)了錯(cuò)誤,導(dǎo)致執(zhí)行時(shí)間過長(zhǎng),并發(fā)執(zhí)行量過大,占用了大量物理內(nèi)存。

責(zé)任編輯:武曉燕 來源: 白鱔的洞穴
相關(guān)推薦

2010-10-28 15:15:08

oracle內(nèi)存參數(shù)

2010-05-27 17:10:03

MySQL數(shù)據(jù)庫內(nèi)存

2022-10-30 15:16:16

DML語句元組

2013-09-24 15:19:28

甲骨文Oracle數(shù)據(jù)庫

2010-04-06 12:39:15

Oracle數(shù)據(jù)庫

2024-08-02 16:25:10

2010-07-08 09:53:57

SQL Server

2009-07-30 18:22:14

OracleTimesTenIn-Memory D

2010-08-05 16:08:12

輕松掌握DB2 9.5

2021-02-24 09:45:21

數(shù)據(jù)庫工具技術(shù)

2010-05-26 11:10:12

MySQL數(shù)據(jù)庫

2009-03-23 10:32:47

SQLServer數(shù)據(jù)庫數(shù)據(jù)類型

2017-08-24 13:29:19

UDB高可用數(shù)據(jù)庫

2009-12-30 13:26:48

2009-12-24 14:17:27

安全威脅Oracle數(shù)據(jù)庫

2021-03-31 08:02:34

Prometheus 監(jiān)控運(yùn)維

2024-07-31 08:21:53

2010-04-16 13:46:47

Oracle數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)