我有一个org.apache.solr.hadoop.MapReduceIndexerTool/MorphlineMapper进程,填充本地的“/”挂载。
它运行几分钟,磁盘已满,Nagios警报被触发,然后我终止进程。 一旦进程被终止,文件利用率将降低到40%的基本级别。
这种情况发生得相当快,而且由于它是一个生产系统,所以仔细阅读文件系统来查看哪些文件是新的。 还有一些导致du -sh *挂起的NFS挂载。 我们正在运行RHEL 6.7。
是否有一个聪明的方法来确定什么,正在填充磁盘? 也许一个快速的方法来捕获,比较和汇总lsof的文件大小? 我想这是一个相当常见的情况,所以可能是每个系统pipe理员工具包中的一个很好的awk单行程。
这个事件看起来像是在事情发生之前的8分钟。 这将是一个惊人的响应时间,以避免手动,特别是如果pipe理员不在系统上,当它开始。
你需要更多的反应时间。 给它更多的空间咀嚼。 以某种方式限制或限制工作。
iotop是一个很好的python脚本,可以查看执行最多I / O的进程。 其中可能包含你的失控。 它可以有正确的批量输出正确的选项,说iotop -bkto 。