一、查看進(jìn)程,線程結(jié)構(gòu)
[omm@db1 dn_6001]$ ps -ef |grep 12879
omm 12879 1 2 12:17 pts/0 00:06:32 /opt/mogdb/app/bin/mogdb -D /mogdb/data/db1
omm 29189 12314 0 17:04 pts/0 00:00:00 grep --color=auto 12879
[omm@db1 dn_6001]$ ps -ef |grep mogdb
omm 12879 1 2 12:17 pts/0 00:06:33 /opt/mogdb/app/bin/mogdb -D /mogdb/data/db1
omm 29226 12314 0 17:05 pts/0 00:00:00 grep --color=auto mogdb
[omm@db1 dn_6001]$ ps -T -p 12879
PID SPID TTY TIME CMD
12879 12879 pts/0 00:00:02 mogdb
12879 12880 pts/0 00:00:00 jemalloc_bg_thd
12879 12883 pts/0 00:00:00 mogdb
12879 12884 pts/0 00:00:00 syslogger
12879 12885 pts/0 00:00:01 alarm
12879 12886 pts/0 00:00:00 reaper
12879 12911 pts/0 00:00:00 checkpointer
12879 12912 pts/0 00:00:00 Spbgwriter
12879 12913 pts/0 00:01:11 pagewriter
12879 12914 pts/0 00:00:00 pagewriter
12879 12915 pts/0 00:00:00 bgwriter
12879 12916 pts/0 00:00:03 bgwriter
12879 12917 pts/0 00:00:03 bgwriter
12879 12918 pts/0 00:02:02 WALwriter
12879 12919 pts/0 00:00:00 WALwriteraux
12879 12920 pts/0 00:00:00 AVClauncher
12879 12921 pts/0 00:00:01 Jobscheduler
12879 12922 pts/0 00:00:00 asyncundolaunch
12879 12923 pts/0 00:00:00 globalstats
12879 12924 pts/0 00:00:00 statscollector
12879 12925 pts/0 00:00:00 txnsnapcapturer
12879 12926 pts/0 00:00:11 snapshotworker
12879 12927 pts/0 00:00:00 percentworker
12879 12928 pts/0 00:01:34 ashworker
12879 12929 pts/0 00:00:20 TrackStmtWorker
12879 12930 pts/0 00:00:00 auditor
12879 12931 pts/0 00:00:13 2pccleaner
12879 12932 pts/0 00:00:00 faultmonitor
12879 12934 pts/0 00:00:00 undorecycler
[omm@db1 dn_6001]$
二、相關(guān)線程描述(學(xué)習(xí)筆記僅供參考)
| 線程名稱 | 描述 |
|---|---|
| jemalloc_bg_thd | 管理并實現(xiàn)內(nèi)存的動態(tài)分配 |
| sysLogger | 使用重定向的方式捕獲管理線程、后臺線程以及其他子線程的stderr輸出,并寫入日志文件中 |
| alarm | MogDB的告警檢測線程 |
| checkpointer | 周期性的發(fā)起數(shù)據(jù)庫檢查點(diǎn),在這個檢查點(diǎn)時刻,所有的數(shù)據(jù)文件都被更新,臟數(shù)據(jù)頁也被刷新到磁盤,此刻數(shù)據(jù)庫是一致的。MogDB支持全量檢查點(diǎn)和增量檢查點(diǎn),增量檢查點(diǎn)打開后會小批量的分階段的滾筒式的去進(jìn)行臟頁刷盤 |
| pagewriter | 負(fù)責(zé)將臟頁數(shù)據(jù)拷貝至雙寫(double-writer)區(qū)域并落盤,然后將臟頁轉(zhuǎn)發(fā)給bgwriter子線程進(jìn)行數(shù)據(jù)下盤操作,如果發(fā)生數(shù)據(jù)頁”折斷”的問題,就會從雙寫空間里找到完整的數(shù)據(jù)頁進(jìn)行恢復(fù) |
| bgwriter | 負(fù)責(zé)對共享緩沖區(qū)的臟頁數(shù)據(jù)持續(xù)的進(jìn)行刷盤操作,目的是讓數(shù)據(jù)庫線程在進(jìn)行用戶查詢時可以很少或者幾乎不等待寫動作的發(fā)生,這樣的機(jī)制同樣也減少了檢查點(diǎn)造成的性能下降 |
| Jobscheduler | 根據(jù)pg_job表里面定義的JOB周期,對已經(jīng)過期的JOB進(jìn)行調(diào)用 |
| snapshotworker | 收集snapshot信息,MogDB數(shù)據(jù)庫的WDR報告依賴于snapshot |
| percentworker | 根據(jù)percentile參數(shù)設(shè)置的值計算sql響應(yīng)時間的百分比信息,目前percentile參數(shù)僅支持80和95 |
| ashworker | 統(tǒng)計歷史活動會話相關(guān)信息 |
| auditor | 使用重定向的方式從管理線程、后臺線程以及其他子線程獲取審計數(shù)據(jù),并保存在審計文件中 |
| WALwriter | 嘗試保持一個常規(guī)后臺進(jìn)程完成寫出WAL頁面和文件同步WAL頁面。它還保證 未被伴隨提交立即同步到磁盤的事務(wù)提交記錄(即“異步提交”)在可知的時間里到達(dá)磁盤——象實際發(fā)生的那樣,最多三次wal寫延遲(wal_writer_delay)周期時間。 |
| AVClauncher | 清理線程(AutoVacLauncher+AutoVacWorker) AutoVacLauncher線程由Postmaster線程啟動,它不斷地將數(shù)據(jù)庫需要做vacuum的對象信息保存在共享內(nèi)存中,當(dāng)表上被刪除或更新的記錄數(shù)超過設(shè)定的閾值時,會調(diào)用AutoVacWorker線程對表的存儲空間執(zhí)行回收清理工作 |
| StatCollector | 負(fù)責(zé)統(tǒng)計MogDB數(shù)據(jù)庫的信息,包括:物理硬件資源使用信息、對象屬性及使用信息、SQL運(yùn)行信息、會話信息、鎖信息、線程信息等,并且將這些收集到的統(tǒng)計信息保存在pgstat.stat文件中 |
「喜歡這篇文章,您的關(guān)注和贊賞是給作者最好的鼓勵」
關(guān)注作者
【版權(quán)聲明】本文為墨天輪用戶原創(chuàng)內(nèi)容,轉(zhuǎn)載時必須標(biāo)注文章的來源(墨天輪),文章鏈接,文章作者等基本信息,否則作者和墨天輪有權(quán)追究責(zé)任。如果您發(fā)現(xiàn)墨天輪中有涉嫌抄襲或者侵權(quán)的內(nèi)容,歡迎發(fā)送郵件至:contact@modb.pro進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,墨天輪將立刻刪除相關(guān)內(nèi)容。




