背景:
过年期间更新代码时候,发现在jenkins的某个agent上出现了如下问题:
FATAL: Unable to produce a script file java.io.IOException: 设备上没有空间 at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:326)
当时是比较疑惑的,这台agent有1TB的硬盘,怎么会突然满了呢?为了尽快完成任务,暂时屏蔽了这台agent,使用其他agent进行代码编译。
分析:
后来,检查了一下这台agent的磁盘使用情况,发现/var/log/jenkins/jenkins.log文件几乎占用了所有的磁盘空间。
使用tail命令查看了日志文件的部分内容,几乎全是关于DNSQuestion的,显示如下:
[DNSQuestion@1398141921 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ] [DNSQuestion@752862545 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ] [DNSQuestion@2077034887 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ] [DNSQuestion@545402584 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ] [DNSQuestion@1546918866 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ] [DNSQuestion@236169288 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
解决方法:
jenkins提供了屏蔽相关日志内容的配置:
补充:
在屏蔽相关日志内容一段时间之后,发现磁盘又被占满了,仍然是DNSQuestion问题。尝试修改了网卡配置文件里的DNS地址,再也没有出现过问题:
# grep -i 'dns' /etc/sysconfig/network-scripts/ifcfg-eth0 DNS1=114.114.114.114