AIX文件系统/var空间100%的问题
一、问题说明
/var/spool/mqueue目录下出现了多个df打头的文件,导致/var空间最终100%
EBANK_P570_MAIN/var/spool/mqueue#ls -l
total 8732656
-rw-r--r-- 1root system 571 Aug 20 2012 Qfq7JGw5K21643126
-rw-r--r-- 1root system 569 Aug 23 2012 Qfq7MGvxch987418
-rw-r--r-- 1root system 572 Jun 25 02:00 Qfs5OHxF6d1339552
-rw-r--r-- 1root system 570 Jul 04 01:59 Qfs63HwefO1359972
-rw-r--r-- 1root system 773 Jul 04 02:02 Qfs63I1DfN1790554
-rw-r--r-- 1root system 570 Jul 06 02:00 Qfs65Hx5Vq1315640
-rw-r--r-- 1root system 773 Jul 06 02:02 Qfs65I16Vp1483544
-rw------- 1root system 760 Jul 06 02:39 Qfs65IaKdR1397376
-rw-r--r-- 1root system 573 Jul 07 00:58 Qfs66GvJMf1332120
-rw-r--r-- 1root system 0 Aug 23 2012 dfq7JGw5K21643126
-rw-r--r-- 1root system 0 Aug 23 2012 dfq7MGvxch987418
-rw-r--r-- 1root system 1153011528 Jul 06 02:00 dfs65Hx5Vq1315640
-rw-r--r-- 1root system 1153012885 Jul 06 02:02 dfs65I16Vp1483544
-rw------- 1root system 1153012885 Jul 06 02:39 dfs65IaKdR1397376
-rw-r--r-- 1root system 1011801454 Jul 07 00:58 dfs66GvJMf1332120
二、原因分析:
1、查询资料:/var/spool/mqueue目录包含与队列中的每条消息关联的临时文件。即发送邮件前存放邮件的临时目录,每个定时任务执行时的输出结果都会以邮件的形式通知用户,邮件队列目录是/var/spool/mqueue,邮邮件队列包含四类邮件队列文件:数据文件、控制文件、临时文件和抄本文件。文件的格式如下:
dfAA00312 数据文件
qfAA00312 控制文件
tfAA00312 临时文件
xfAA00312 抄本文件
2、进一步查看文件的内容,是crontab执行/ora_backup/rep/repsj/imp.sh脚本生产了大的mail邮件,导致/var空间满
EBANK_P570_MAIN/var/spool/mqueue#more dfs66HxcE51216754
Cron Environment:
SHELL =/usr/bin/sh
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin
CRONDIR=/var/spool/cron/crontabs
ATDIR=/var/spool/cron/atjobs
LOGNAME=oracle
HOME=/oracle
Your "cron" job executed on EBANK_P570_MAIN onMon Jul 7 00:40:00 BEIST 201
exportBATCH_AUTO_RUN=Y; . ./.profile; sh /ora_backup/rep/repsj/imp.sh
produced the following output:
20140423
20140706
。。。。。
3、原因确认:由于crontab中的脚本输出内容过多,导致mail过大,最终/var空间满,因此解决方法如下
a,脚本的输出重定向到/dev/null,由于脚本不再有输出,也就不会有邮件发出
* * * * * a.sh> /dev/null 2>&1.
b,crontab的前面添加MAILTO=""
$ crontab -e
At the top of the file, enter:
MAILTO=""
4、补充确认,通过监控系统趋势图确认原因
最近系统/var的利用率图可以看出,
1),最近/var空间的利用率一直在缓慢增长,6月26日左右有一个突然增长,但最近才出现了100%的问题
2),每晚其实都有个利用率的高峰,但是到了6点钟,利用率就下降为正常了,这是因为6点钟定时任务清空了oracle用户的mail
EBANK_P570_MAIN/#crontab -l oracle
0 6 * * * cat/dev/null > /var/spool/mail/oracle
3),为什么大文件会出现在/var/spool/mqueue目录?
通过在测试机测试,
a, crontab生产的输出最先放在/tmp目录下,(对应图2 /tmp0:30开始空间利用率不断增加)
b, crontab命令执行结束后,mv到/var/spool/mqueue目录下准备发送邮件给oracle用户,(此时/var空间突然增长)
c, 正常情况下oracle用户接受,放在/var/spool/mail/oracle文件中
d, 6点执行的定时任务情况oracle的mail邮件,对应图1的/var突然下降
4,今日凌晨为什么没出问题?
由于/var昨日清理的比较彻底,mqueue目录能够保存了需要发送的邮件,空间从9%增加到42%,然后6点钟被清空

图1:/var空间利用率图

图2 、/tmp文件系统利用率

图3、今天/var利用率
三、解决方案
1、临时解决方法:
快速清理方案,转移大数据文件到/backup/目录下
mv /var/spool/mqueue/df* /backup/
2、永久解决方案,因此也建议脚本的书写要重定向,特别是有大量结果输出的执行脚本
脚本重定向到/dev/null,防止出现大日志文件
AIX文件系统/var空间100%的问题的更多相关文章
- (转)清理AIX的/var文件系统大小
在ROOTVG空间有限,且/var文件系统的空间已经足够大的情况下,/var文件系统空间快满了,这种情况怎么处理?IBM给了一个很好的处理流程: 使用find 命令检查在/var目录中所有大于1MB的 ...
- AIX文件系统和存储部署(转)
文件系统和存储部署 文件系统的管理是AIX存储结构中的最后一环.定义完lv后,可采用如下两种方式使用lv: a.作为裸设备(raw)使用,一般是数据库型的应用 b.在lv上定义文件系统,并提供文件和数 ...
- 诡异的磁盘空间100%报警分析得出df -h与du -sh的根本性差别
前言:早晨磁盘报警刚清空完tomcat和nginx日志,使用的命令是类似echo "" > show_web-error.log或者> show_web-debug.l ...
- df - 报告文件系统磁盘空间的使用情况
总览 df [OPTION]... [FILE]... POSIX 选项: [-kP] GNU 选项 (最短方式): [-ahHiklmPv] [-t fstype] [-x fstype] [--b ...
- Linux 文件系统磁盘空间与连接文件
磁盘与目录的容量 我们知道磁盘的整体数据hi在superblock块中,但是各文件的容量则在inode中记载. df:列出文件系统的整体磁盘使用量 由于df主要读取的数据几乎都是针对整个文件系统,因此 ...
- J S 脚本语言 if() { if { } else { } } var a =100; switch { case ( ) break ; } 基础详解 , 最下面有例子
注释语法 注释语法// 多行注释/ JS输出语句 JS样式尽量靠最下面写 <script type="text/javascript">//嵌入JS开始代码 //ale ...
- AIX扩展文件系统的大小
由于AIX系统空间不够需要增加硬盘,希望增加文件系统的空间,折腾了好几天怎么都不能扩展文件系统的空间,原来是把硬盘加错了卷组 首先,确定文件系统所在的LV /dev/datalv 270.0 ...
- AIX smit下创建逻辑卷、添加文件系统并挂载
--AIX smit下创建逻辑卷,添加文件系统并挂载------------------------------------------2013/10/15 首先创建逻辑卷smit lv ,这里没多大 ...
- AIX 5.3下创建逻辑卷、添加文件系统并挂载
首先创建逻辑卷smit lv ,这里没多大问题就不细述了. 输入要创建的逻辑卷名.所属卷组.分配多少个LP.创建在哪块磁盘上等,另外还可以设置镜像,默认是只有一份镜像的,即不做mirror. 到此LV ...
随机推荐
- 【VS开发】【C/C++开发】传递双重指针申请内存,典型用法
传递双重指针申请内存,典型用法 指针参数是如何传递内存的? 如果函数的参数是一个指针,不要指望用该指针去申请动态内存.如下示例中,Test函数的语句GetMemory(str, 100)并没有使str ...
- Android性能专项分类
性能专项分类:1.资源消耗2.启动耗时3.主要页面加载时间4.内存泄漏.抖动5.卡顿.页面渲染 一.资源消耗:CPU.内存.流量.功耗-----1.查看CPU占用率:adb shell dumpsys ...
- Java-Redis 热部署问题
项目请求时报错: java.lang.ClassCastException: cn.xingaohbd.seckil.model.User cannot be cast to cn.xingaohbd ...
- [官网]mono的官方安装方法
mono 官方的安装方法 https://www.mono-project.com/download/stable/#download-lin-centos Download Release chan ...
- ActiveMQ 即时通讯服务 入門指南及淺析
转:http://www.cnblogs.com/hoojo/p/active_mq_jms_apache_activeMQ.html 一. 概述与介绍 ActiveMQ 是Apache出品,最流行的 ...
- 植物大战僵尸:寻找阳光掉落Call调用
实验目标:通过遍历阳光产生的时间,寻找阳光产生的本地Call,使用代码注入器注入,自定义生成阳光 阳光CALL遍历技巧: 进入植物大战僵尸-> 当出现阳光后->马上搜索未知初始数值 返回游 ...
- 作业5:Java编译原理
零.编译 1.编译器 (1)前端编译器:.java文件转变为.class文件Sun的javacEclipse JDT中的增量编译器(ECJ) (2)后端编译器:.class文件转变为机器码HotSpo ...
- Autofac 组件、服务、自动装配
一.组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1.类型创建RegisterType AutoFac能够通过反射检查一个类型,选择 ...
- pycharm问题
Pycharm 出现Unresolved reference '' 错误的解决方法:http://www.mamicode.com/info-detail-2190842.html
- Python——用turtle画一个月饼
今天是中秋节,首先在这里祝大家中秋快乐!那么提到中秋,我们首先想到的当然是香甜的月饼,所以我今天就在这里画一个月饼送给大家. 那么 要用Python画图,我们必须掌握并运用Turtle库,这个可以自己 ...