一、查看进程,线程结构
[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]$
二、相关线程描述(学习笔记仅供参考)
| 线程名称 | 描述 |
|---|---|
| jemalloc_bg_thd | 管理并实现内存的动态分配 |
| sysLogger | 使用重定向的方式捕获管理线程、后台线程以及其他子线程的stderr输出,并写入日志文件中 |
| alarm | MogDB的告警检测线程 |
| checkpointer | 周期性的发起数据库检查点,在这个检查点时刻,所有的数据文件都被更新,脏数据页也被刷新到磁盘,此刻数据库是一致的。MogDB支持全量检查点和增量检查点,增量检查点打开后会小批量的分阶段的滚筒式的去进行脏页刷盘 |
| pagewriter | 负责将脏页数据拷贝至双写(double-writer)区域并落盘,然后将脏页转发给bgwriter子线程进行数据下盘操作,如果发生数据页”折断”的问题,就会从双写空间里找到完整的数据页进行恢复 |
| bgwriter | 负责对共享缓冲区的脏页数据持续的进行刷盘操作,目的是让数据库线程在进行用户查询时可以很少或者几乎不等待写动作的发生,这样的机制同样也减少了检查点造成的性能下降 |
| Jobscheduler | 根据pg_job表里面定义的JOB周期,对已经过期的JOB进行调用 |
| snapshotworker | 收集snapshot信息,MogDB数据库的WDR报告依赖于snapshot |
| percentworker | 根据percentile参数设置的值计算sql响应时间的百分比信息,目前percentile参数仅支持80和95 |
| ashworker | 统计历史活动会话相关信息 |
| auditor | 使用重定向的方式从管理线程、后台线程以及其他子线程获取审计数据,并保存在审计文件中 |
| WALwriter | 尝试保持一个常规后台进程完成写出WAL页面和文件同步WAL页面。它还保证 未被伴随提交立即同步到磁盘的事务提交记录(即“异步提交”)在可知的时间里到达磁盘——象实际发生的那样,最多三次wal写延迟(wal_writer_delay)周期时间。 |
| AVClauncher | 清理线程(AutoVacLauncher+AutoVacWorker) AutoVacLauncher线程由Postmaster线程启动,它不断地将数据库需要做vacuum的对象信息保存在共享内存中,当表上被删除或更新的记录数超过设定的阈值时,会调用AutoVacWorker线程对表的存储空间执行回收清理工作 |
| StatCollector | 负责统计MogDB数据库的信息,包括:物理硬件资源使用信息、对象属性及使用信息、SQL运行信息、会话信息、锁信息、线程信息等,并且将这些收集到的统计信息保存在pgstat.stat文件中 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




