设备上没有空间报错解决
- 1. 原因
- 2.解决步骤
-
- 2.1 检查磁盘空间
- 2.2 清理不必要的文件
1. 原因
这个错误通常意味着Linux系统上的磁盘空间不足,无法创建临时文件。当应用程序或系统需要创建临时文件来处理任务时,如果磁盘空间不足,就会发生这种错误。
2.解决步骤
2.1 检查磁盘空间
使用df命令查看磁盘的使用情况。这会显示每个挂载点的可用和已用空间
df -h
结果如下:
文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/VG_qdccb-root 96G 96G 20K 100% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 402M 3.5G 11% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sda1 1014M 177M 838M 18% /boot tmpfs 783M 0 783M 0% /run/user/1002 tmpfs 783M 12K 783M 1% /run/user/42 tmpfs 783M 0 783M 0% /run/user/0
通过查询结果的输出,可以看到系统的根目录(/)已经满了,没有可用空间。这可能是由于各种原因,例如大量的日志文件、临时文件、缓存文件或其他未清理的文件。此时我们需要进一步排查具体存在哪些大文件。
2.2 清理不必要的文件
我们现在需要查询具体存在哪些大文件,可以使用这个命令
# 查找特定目录下的大文件或目录 排序前10 du -h / | sort -rh | head -n 10
输出结果如下
du -h / | sort -rh | head -n 10 96G / 51G /data 43G /data/app/xxl-job/apache-tomcat-9.0.37 43G /data/app/xxl-job 43G /data/app 42G /data/app/xxl-job/apache-tomcat-9.0.37/logs 41G /opt 36G /opt/logs 26G /opt/logs/100003171 8.5G /data/logs/xxl-job
根据结果我们可以得知:tomcat、xxl-job、以及/opt/logs(这里输出的日志主要是部署的apollo)所在目录占用了很多内存。
到这里已经很清楚了,大概率是应用输出的日志过多造成的,我们继续来验证它。
根据上面查询结果的提示,我们主要查看几个大文件夹下面的内存占用情况
du -h /data/app/xxl-job/apache-tomcat-9.0.37/ | sort -rh | head -n 10 43G /data/app/xxl-job/apache-tomcat-9.0.37/ 42G /data/app/xxl-job/apache-tomcat-9.0.37/logs 102M /data/app/xxl-job/apache-tomcat-9.0.37/webapps 54M /data/app/xxl-job/apache-tomcat-9.0.37/webapps/xxl-job-admin 49M /data/app/xxl-job/apache-tomcat-9.0.37/webapps/xxl-job-admin/WEB-INF 44M /data/app/xxl-job/apache-tomcat-9.0.37/webapps/xxl-job-admin/WEB-INF/lib 9.4M /data/app/xxl-job/apache-tomcat-9.0.37/lib 5.2M /data/app/xxl-job/apache-tomcat-9.0.37/webapps/xxl-job-admin/WEB-INF/classes 4.5M /data/app/xxl-job/apache-tomcat-9.0.37/webapps/xxl-job-admin/static 4.3M /data/app/xxl-job/apache-tomcat-9.0.37/webapps/xxl-job-admin/WEB-INF/classes/static
这个结果验证了我们的猜想,确实是日志占用了很多内存。接下来就根据我们需要保留最近几天的日志,将其它的日志文件删除就可以了。
最后,我们在看一下清理之后的结果
du -h / | sort -rh | head -n 10 16G / 7.1G /opt 4.7G /opt/IBM 4.6G /data 4.1G /data/logs/xxl-job 4.1G /data/logs 3.5G /usr 2.5G /opt/logs 2.4G /opt/logs/100003173 1.7G /opt/IBM/WebSphere/AppServer
到此设备上没有空间的问题就解决了。