监控磁盘使用

1. 判断磁盘用量

每个表都有一个主要的堆磁盘文件,大多数数据都存储在其中。如果一个表有着可能会很宽(尺寸大)的列, 则另外还有一个
TOAST文件与这个表相关联, 它用于存储因为太宽而不能存储在主表里面的值。如果有这个附属文件,那么TOAST表上会有一
个可用的索引。 当然,同时还可能有索引和基表关联。每个表和索引都存放在单独的磁盘文件里 — 如果文件超过 1G 字节,甚至可能多于一个文件。

SELECT pg_relation_filepath(oid), relpages FROM pg_class WHERE relname = 'customer';
select * from pg_locks;
select * from pg_class limit 10;

每个页通常都是 8K 字节(记住,relpages只会由VACUUM、ANALYZE和少数几个 DDL 命令
如CREATE INDEX所更新)。如果你想直接检查表的磁盘文件,那么文件路径名应该有用。
要显示TOAST表使用的空间,我们可以使用一个类似下面这样的查询:

SELECT relname, relpages
FROM pg_class,
(SELECT reltoastrelid
FROM pg_class
WHERE relname = 'customer') AS ss
WHERE oid = ss.reltoastrelid OR
oid = (SELECT indexrelid
FROM pg_index
WHERE indrelid = ss.reltoastrelid)
ORDER BY relname;

也可以很容易地显示索引的尺寸:

SELECT c2.relname, c2.relpages
FROM pg_class c, pg_class c2, pg_index i
WHERE c.relname = 'customer' AND
c.oid = i.indrelid AND
c2.oid = i.indexrelid
ORDER BY c2.relname;

很容易用下面的信息找出最大的表和索引:

SELECT relname, relpages
FROM pg_class
ORDER BY relpages DESC;

2. 磁盘满失败

一个数据库管理员最重要的磁盘监控任务就是确保磁盘不会写满。一个写满了的数据磁盘可能不会导致数据的崩溃,但它肯定会让系统变
得不可用。如果保存 WAL 文件的磁盘变满,会发生数据库服务器致命错误并且可能发生关闭。
如果你不能通过删除一些其他的东西来释放一些磁盘空间,那么你可以通过使用表空间把一些数据库文件移动到其他文件系统上去。
提示: 有些文件系统在快满的时候性能会急剧恶化,因此不要等到磁盘完全满的时候才采取行动。

PostgreSQL 监控磁盘使用的更多相关文章

  1. Cacti:添加监控磁盘IO

    来自:http://blog.sina.com.cn/s/blog_61c07ac50101gkzp.html 1.检查net-snmp是否支持IO监控 snmpwalk -v 1 -c public ...

  2. Linux下监控磁盘使用量并在超过阀值后自动发送报警邮件

    最近Linux服务器磁盘使用量经常到100%,直到影响到正常服务出现故障才会去注意,做不到防患于未然,今天在网上搜集了资料,加上自己修改,写了一个shell脚本用于实时监控磁盘使用量并在超过阀值后自动 ...

  3. Linux/Unix shell 脚本监控磁盘可用空间

    Linux下监控磁盘的空闲空间的shell脚本,对于系统管理员或DBA来说,必不可少.下面是给出的一个监控磁盘空间空间shell脚本的样本,供大家参考. 1.监控磁盘的空闲空间shell脚本 robi ...

  4. Cacti添加IO模板并监控磁盘IO

    1.下载Cacti_Net-SNMP_DevIO_v3.1.zip 下载Cacti_Net-SNMP_DevIO_v3.1.zip,解压并上传net-snmp_devio.xml到/resource/ ...

  5. 第七章——DMVs和DMFs(4)——用DMV和DMF监控磁盘IO

    原文:第七章--DMVs和DMFs(4)--用DMV和DMF监控磁盘IO 前言: 本文为本系列最后一篇,作为DBA,你必须经常关注磁盘的I/O问题,一旦出现问题,要尽快分析出是什么问题.SQLServ ...

  6. Zabbix3.x 监控磁盘IO与自定义模板

    引言 Zabbix自带的模板,帮助我们完成了一些比较常用的监控.但如果想要监控磁盘的IO,zabbix并没有给我们提供这么一个模板,所以我们需要自己来创建一个模板来完成磁盘IO的监控. 操作步骤 1. ...

  7. zabbix的日常监控-磁盘性能监控(十二)

    监控磁盘的性能 参考文章: https://wiki.enchtex.info/howto/zabbix/zabbix_iostat_monitoring https://blog.csdn.net/ ...

  8. zabbix应用之Low-level discovery监控磁盘IO

    参考文章: http://qicheng0211.blog.51cto.com/3958621/1599776/ zabbix自带的"Template OS Linux"模板支持监 ...

  9. shell 监控磁盘使用率【转】

    方案一: disks=(`df |sed 1d | awk '{print $1,$5}'|tr -d %`) len=${#disks[@]} ;i<=$len;i=i+));do ];the ...

随机推荐

  1. 2.virtualenv安装和配置以及在PyCharm中如何使用虚拟环境

    virtualenv优点 使不同应用开发环境相互独立 环境升级不影响其它应用,也不会影响全局的python环境 它可以防止系统中出现包管理混乱和版本的冲突 1.使用virtualenv pip ins ...

  2. python-字符串应用

    例1:用python程序将DNA的一条链翻译出来s1=’ATTACGGC‘ rule={'A':'T','T':'A','C':'G','G':'C'} s1='ATTACGGC' s2=[rule[ ...

  3. BZOJ4197 / UOJ129 [Noi2015]寿司晚宴

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  4. Overlay网络与物理网络的关系

    编者按:无论是云计算还是SDN都把注意力集中在数据中心网络的建设上,各种解决方案层出不穷,其中以VMware为代表的软件厂商提出Overlay网络方案后,为数据中心网络的发展提出了新的思路.那么Ove ...

  5. angularjs 简单指令

    <!DOCTYPE html> <html data-ng-app="app"> <head> <title>angular js& ...

  6. AI探索(一)基础知识储备

    AI的定义 凡是通过机器学习,实现机器替代人力的技术,就是AI.机器学习是什么呢?机器学习是由AI科学家研发的算法模型,通过数据灌输,学习数据中的规律并总结,即模型内自动生成能表达(输入.输出)数据之 ...

  7. 教你们在cmd里运行打开游戏,效率很快的。喜欢吧?

    第一步安装好的游戏 环境变量 变量值:把刚才复制好粘贴在里面,前面不用删除. 喜欢吧?这招非常好用.

  8. IE9 placeholder 不兼容的解决

    坑爹的IE9-,真的是够够的了,不过公司不要求兼容这个玩意了,自己觉得兼容这个鬼还是挺有挑战性的,自己也碰到不少难题,一个个解决. css: .placeholderColor { color : # ...

  9. hdu5087 Revenge of LIS II (dp)

    只要理解了LIS,这道题稍微搞一下就行了. 求LIS(最长上升子序列)有两种方法: 1.O(n^2)的算法:设dp[i]为以a[i]结尾的最长上升子序列的长度.dp[i]最少也得是1,就初始化为1,则 ...

  10. boost开发指南

    C++确实很复杂,神一样的0x不知道能否使C++变得纯粹和干爽? boost很复杂,感觉某些地方有过度设计和太过于就事论事的嫌疑,对实际开发工作的考虑太过于理想化.学习boost本身就是一个复杂度,有 ...