Postgre SQL
发布时间:2022-05-20 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swap Consumed very Much When PostgreSQL autovacuum to prevent wraparound,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
今天接到监控组的告警,某数据库服务器的SWAP分区消耗超过阀值,消耗约8G。 free @R_759_1
0586@l used free shared buffers cached Mem: 24682828 24@R_
616_11235@764 75064 0 10128 6525184 -/+ buffers/cache: 18072452 6610376 Swap: 16779884 8794580 7985304 查看过往的SAR报告如下 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad 02-06 Average: 79193 24603635 99.68 27148 8510109 13953
197 2826687 16.85 967 02-07 Average: 8169
9 24601129 99.67 23619 8483106 13953178 2826706 16.85 985 02-08 Average: 73905 24608923 99.70 11064 8504025 13953172 2826712 16.85 970 02-09 Average: 78953 24603875 99.68 1814
0 8475291 13953172 2826712 16.85 968 02-10 09:20:01 AM 74356 2460847
2 99.70 258
0 8361932 13953172 2826712 16.85 968 09:30:01 AM 74224 24608604 99.70 3412 8466448 13822936 2956948 17.62 2956 Average:
77257 24605571 99.6
9 7574 8344604 13196771 3583113 21.35 1432 02-11 Average: 87933 2459
4895 99.64 10818 7304608 10841381 5938503 35.3
9 2315 02-12 Average: 82804 24600024 99.66 15113 7149277 1
0581682 6198202 36.94
1978 02-13 Average: 85698 24597130 99.65 7834 7246716 10130720 6649164 39.63 3248 TODAY Average: 7325
9 24609569 99.70 4444 66
49324 8273769 8506115 50.6
9 21545 数据库日志中包含大量auto
VACUUM 信息,其中有的执行时间比较长。(正常情况下一个auto
VACUUM进程可以占用做多maintenance_work_mem设置的内存大小) # 查看服务器上占用内存较多的进程pmem (百分比) ps -eo user,RSSize,vsize,sz,size,pmem,cmd --sort size|grep
POSTGRes 以下进程占用70%物理内存
POSTGRes 172
80128 27504196 687604
9 26001504 70.0
POSTGRes: auto
VACUUM launcher process 怀疑是服务器内存处理出现问题造成. 到服务器上杀掉该进程 ps -ewf|grep auto
POSTGRes 5821 5816 0 2010 ? 05
:13:02
POSTGRes: auto
VACUUM launcher process
POSTGRes=#
SELEct * from
pg_terminate_
BACkend(5821
); pg_terminate_
BACkend ---------------------- t (1 row) 日志输出如下: 2011-02
-14 17
:47:07.905 CST,5821,4ccfbe6a.16bd,2,2010-11-02 15:31:54 CST,1/0,LOG,00000,"auto
VACUUM launcher shut
Ting down","" 2011-02
-14 17
:47
:10.005 CST,15773,4d58fa1e.3d9d,1,2011-02
-14 17
:47
:10 CST,"auto
VACUUM launcher started","" auto
VACUUM launcher的主进程为
POSTGRes进程,在被终结后自动产生. ps -ewf|grep auto
POSTGRes 15773 5816 0 17
:47 ? 00:00:00
POSTGRes: auto
VACUUM launcher process 交换分区释放: free @R_759_1
0586@l used free shared buffers cached Mem: 24682828 7307256 17375572 0 10676 6525460 -/+ buffers/cache: 771120 23911708 Swap: 16779884 54836 16725048 PS输出注释: %mem %MEM ratio of the process’s resIDent set size to the physical memory on the machine,expressed as a percentage. (alias pmem). RSS RSS resIDent set size,the non-swapped physical memory that a task has used (in kiloBytes). (alias RSSize,rs
z). RSSize RSS see RS
s. (alias RSS,rs
z). rsz RSZ see RS
s. (alias RSS,RSSiz
E). 从上面的解释来看auto
VACUUM launcher 进程占据了约70%的不可交换物理内存.
大佬总结
以上是大佬教程为你收集整理的Swap Consumed very Much When PostgreSQL autovacuum to prevent wraparound全部内容,希望文章能够帮你解决Swap Consumed very Much When PostgreSQL autovacuum to prevent wraparound所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。