数据库磁盘警戒值报警的原因

早上突然收到数据库磁盘使用量监控的短信息,其中/var 分区的使用量已经达到了警戒值,这个奇怪呀,数据库的服务器和这个分区没多大关系,难道是某个服务产生了大量的日志信息?

迷迷糊糊的困死我了,起床收拾收拾,赶公交,坐地铁,快步走来到单位,远程登录看看其中原因。

首先 df -TH 看看每个分区的使用量,果然 var 分区使用了86%之多,报警的阀值是85% ,然后进入分区在查看一下每个目录的使用大小 du -sh ./* |sort  其中spool这个目录占用最多的,再次进入spool目录 执行du -sh ./* 其中 clientmqueue 这个目录占用的最多了。

那么为什么会造成这样的呢? 是这样的:当使用 sendmail 发邮件,或者系统的某些任务默认情况下处理完成后要发邮件给相关的用户比如计划任务和logwatch之之类的,首先会把邮件复制到这个目录里,然后sendmail后发送这些邮件,如果你系统的sendmail停止掉了就会堆积在/var/spool/clientmqueue 中的。

仔细查看文件的内容都是一下日常系统登录操作、定时的报告系统磁盘的使用情况、和计划任务的报告邮件,这些文件可以直接删掉 有时候因为文件太多直接使用 rm -f 的话会报告错误:Argument list too long 这可能是 文件数量太多的原因,没关系分批删除即可 rm -f `find ./ ctime +天数`

其实这个功能可以禁用掉,但是不建议,因为这个是系统将一下平常的活  动情况通过邮件提交给用户,可以查找错误原因,并且对系统的情况有个大致的了解。

本文出自 “影子骑士” 博客,请务必保留此出处http://andylhz2009.blog.51cto.com/728703/730549

时间: 2024-12-24 21:36:33

数据库磁盘警戒值报警的原因的相关文章

如何获得当前数据库的SCN值

数据|数据库 如何获得当前数据库的SCN值 --SCN定义及获取方式 Last Updated: Thursday, 2004-12-02 15:04 Eygle         SCN(System Change Number) ,也就是通常我们所说的系统改变号,是数据库中非常重要的一个数据结构. 它定义数据库在某个确切时刻提交的版本.在事物提交时,它被赋予一个唯一的标示事物的 SCN . SCN 提供 Oracle 的内部时钟机制,可被看作逻辑时钟,这对于恢复操作是至关重要的 ( Oracl

JS中获取数据库中的值的方法

在项目中遇到一个问题,需要在JS中读取数据库中的值,然后再把值返回到页面中,解决方案如下:使用Ajax方法来实现,需要用到ajax.dll(一个ajax技术开发的帮助类库).   实施过程如下:     1.引用Ajax.dll     2.在App_Code写具体的方法,最好单独建立一个类文件,然后写具体方法.       复制代码 代码如下: public class AjaxMethod www.jb51.net {     public AjaxMethod()     {       

cript-VBS脚本如何把数据库里面返回值赋给脚本里面的一个变量啊!

问题描述 VBS脚本如何把数据库里面返回值赋给脚本里面的一个变量啊! VBS脚本如何把数据库里面返回值赋给脚本里面的一个变量啊! 只返回某字段查找的某一个值,我试了好久就是不成功. 上网查的方法,不会用: setrs=connObj.execute(strSQLCode)ifnotrs.eofthenmsgboxrs(字段名)或用setrs=server.createobject(adodb.recordset)rs.openSQL,connObj,1,1ifnotrs.eofthenmsgbo

sqlserver-SQL SERVER 2008数据库磁盘空间不足问题

问题描述 SQL SERVER 2008数据库磁盘空间不足问题 各位好,目前我遇到一个SQLSERVER的技术问题,在网上没有找到比较好的方案,请大家一起帮忙处理一下: SQLServer 2008数据库的数据库文件已经占满了磁盘,导致数据库宕机.临时删除了两个大表的数据空出40G的数据(日志清理已经不到1G了),让数据库得以运行.在无法扩充硬盘(200G)空间的前提下,另增加了一个F盘,有500G,但不知道怎么使用,最直接的是把原数据库分离到F盘上,但原D盘就没用了,那么问题来了,SQL SE

c-怎样编程获取性能计数器物理磁盘相应值

问题描述 怎样编程获取性能计数器物理磁盘相应值 如,%Disk Time %Idle Time %Disk Bytes/sec .不是通过对话框选择获取,因为值要返回!代码贴下,这方面初次入门.谢谢! 解决方案 参考http://forums.codeguru.com/showthread.php?371171-Performance-counter-in-chttp://www.codeproject.com/Articles/8590/An-Introduction-To-Performan

数据表-用ExpandableListView显示数据库的字段值

问题描述 用ExpandableListView显示数据库的字段值 问题是从数据表(person表)读取数据(personname),用ExpandableListView显示数据 这是最后的结果图 写了两个文件PersonActivity和ExpandableAdapter 这两张代码都是写在PersonActivity里面,错误在于这样直接setText就是不行,取不到值,但是之前从person表里面已经读取到了字段,我每一个和TextView和edittext都写了不同的名字,就是直接这样

php数据库中取值-php+mysql 数据库中取值

问题描述 php+mysql 数据库中取值 php+mysql 数据库中取值 表中字段是int类型,1代表供货商发货,2代表公司配货 .在页面上用一个下拉列表选择发货方式,如何把 供货商发货 公司配货 字样显示在下拉列表中 , 提交表单后可以更改配货方式,,, 后台逻辑该怎么写呢? 解决方案 http://yuncode.net/code/c_5267eac94c46717 解决方案二: http://www.jb51.net/article/60189.htm

用servlet打出数据库在jsp页面列表展示,但是jsp页面始终不出现数据库中的值

问题描述 用servlet打出数据库在jsp页面列表展示,但是jsp页面始终不出现数据库中的值 2C 这是servlet: public class OrderListServlet extends HttpServlet { public void doGet(HttpServletRequest request HttpServletResponse response) throws IOException ServletException{ List<Order> list = new

关于wcf 通过ef框架 访问数据库,得到值不能返回问题

问题描述 关于wcf 通过ef框架 访问数据库,得到值不能返回问题 我业务层通过调用wcf 服务, wcf访问数据库(ef 框架)后,得到数据,可是走到这一步 就卡住了,不能把数据返回业务层,请问这是那里问题 ? 解决方案 调试下,首先wcf服务返回了数据没有,其次,用抓包工具看下数据送到客户端调用者没有,最后看下客户端接收有没有问题