Jenkins启动报no space left on device失败 磁盘有剩余如何处理
根因定位
你遇到的磁盘空间不足报错并非根分区空间不足导致,而是系统默认临时目录/tmp已满。从你提供的df -h输出可以看到,挂载在/tmp的tmpfs分区总容量仅10M,使用率已经达到100%,Jenkins启动过程中需要解压war包、写入临时文件到/tmp目录,空间不足就会触发对应的IO异常,导致启动失败。
解决方案
按以下步骤操作即可正常启动Jenkins:
- 第一步:清理
/tmp目录冗余文件
执行命令直接清空临时目录:
如果存在被进程占用无法删除的文件,可以执行以下命令重新挂载rm -rf /tmp/*/tmp分区清空内容:umount /tmp && mount /tmp - 第二步(可选,避免后续复发):调整
/tmp分区容量
编辑/etc/fstab文件,找到/tmp对应的挂载配置行,修改size参数调整分区大小为1G,参考配置:
修改完成后执行以下命令让配置生效:tmpfs /tmp tmpfs defaults,size=1G 0 0mount -o remount /tmp - 可选方案:给Jenkins指定独立的临时目录
如果你不想修改系统/tmp配置,可以单独给Jenkins配置自定义临时目录:- 先创建临时目录并配置权限:
mkdir -p /var/lib/jenkins/tmp chown jenkins:jenkins /var/lib/jenkins/tmp - 编辑Jenkins的systemd服务配置文件(路径一般为
/usr/lib/systemd/system/jenkins.service或/etc/systemd/system/jenkins.service),在[Service]段添加如下配置:Environment="JAVA_OPTS=-Djava.io.tmpdir=/var/lib/jenkins/tmp" - 重新加载systemd配置:
systemctl daemon-reload
- 先创建临时目录并配置权限:
- 最后重启Jenkins服务即可:
sudo systemctl restart jenkins
内容的提问来源于stack exchange,提问作者Rajesh Rathod
相关产品推荐
相关产品推荐

