Jenkins构建时提示java.io.IOException: No space left on device

Jenkins构建时提示java.io.IOException: No space left on device

原因:Jenkins所在的服务器空间不够。

那进入Jenkins安装的服务器看一眼,df -h后,发现/dev/sda7的Used是357G,Avail是0G,原来是磁盘空间满了。

一般情况下,最大的文件夹是Jenkins服务器下的jobs文件夹,里面对应各个job并且保留有构建后的产物。

 

解决方法:

解决这种问题(设备空间不足的问题)的步骤就是:
df -hT查看是哪个分区不足了,比如我的是/
②排除掉其他分区目录后,去删除无用的大文件(比如日志)。
③最好的解决办法其实扩容(我公司因为不想重启服务器,所以没有进行扩容)。

 

 1.df -h命令:通过df -h命令查看硬盘的使用情况:发现vda3挂载点已经基本满了[这个还是处理后的,之前到达49G了]

Jenkins构建时提示java.io.IOException: No space left on device

      2.知道了是硬盘满了的问题,name下一步就是开始查找服务器中的大文件,从根目录开始查找,通过du -h --max-depth=1命令,发现是home文件夹占用空间较多

Jenkins构建时提示java.io.IOException: No space left on device

cd ./home,然后 通过du -h --max-depth=1命令依次往下查找,最后发现是oracle占用空间较大

Jenkins构建时提示java.io.IOException: No space left on device

再去仔细查找发现log文件以及listener.org占用较多,定位到了问题,下面就是解决问题:

按照上述的查找大文件的步骤定位发现/home/oracle/app/oracle/diag/tnslsnr/WH-CS-116/listener/alert文件夹下面有超过3G的log文件,久远的log一般用不到,可根据自己的情况删除,通过下述命令删除该文件夹下指定天数之前的文件(下面展示的是删除5天以前的log文件),

find . -mtime +5 -type f -name "*" -exec rm -f {} \;

完成上述操作,释放掉部分存储空间,

但是我检查发现/home/oracle/app/oracle/diag/tnslsnr/WH-CS-116/listener/trace这个文件加下面有一个listener.log的文件,而且很大

Jenkins构建时提示java.io.IOException: No space left on device

网上搜索发现这个文件过大会导致数据库sql的速度变慢,也会导致plsql等可视化工具连接不成功,下面记录一下处理方法:

1.重命名文件:mv listener.log listener.old20180917

2.重新开启listener日志,会自动生成一个新的listener.log的文件:lsnrctl set log_status on

3.等到没问题之后,就可以删除listener.old20180917这个文件了