如何解决linux报No space left on device错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决linux报No space left on device错误相关的知识,希望对你有一定的参考价值。
原因与解决方法一,磁盘inode被用光导致/data目录下无法创建文件
> touch a
touch: cannot touch `a': No space left on device
磁盘只使用了61%
> df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sda5 817G 466G 310G 61% /data
...
inode被用光
> df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
...
/dev/sda5 54378496 54378496 0 100% /data
...
解决办法:删除无用文件,释放inode
解决方法二,硬盘有空间但还是提示此错误
# tail -f ../logs/catalina.out
tail: cannot watch `../logs/catalina.out': No space left on device
df -h 查看有剩余空间
df -i 查看inode也有剩余空间
最终解决:
# vim /etc/sysctl.conf
添加以下:
fs.inotify.max_user_watches = 32768
生效:
# sysctl -p /etc/sysctl.conf
再次测试:
# tail ../logs/catalina.out
正常输出,成功。 参考技术A Linux系统中tail命令可以依照要求将指定的文件的最后部分输出到标准设备,也就是说在终端中可以随时看到最新的档案内容,这对使用很有帮助。以下为解决系统提示No space left on device的方法:
修改etc/sysctl.conf文件:
# vim /etc/sysctl.conf
添加以下内容:
fs.inotify.max_user_watches = 32768
生效:
# sysctl -p /etc/sysctl.conf
这样就可以正常输出了。
Linux使用命令CD时候使用tab报-bash: cannot create temp file for here-document: No space left on
经过调查是Linux系统磁盘满了,需要清理磁盘。
查看当前磁盘使用情况:df -h
可以看到上面/dev/vda1 de Use%=100%,然后看一下vda1是什么?
所以问题找到了,就是系统磁盘满了,满了,就清理掉无用数据,到根目录下使用命令du -sh * 查看各目录占用空间大小(du -ah --max-depth=1 查看目录及其子目录占用空间大小)
找到其中占用空间比价到的目录,发现usr是我们平时部署项目的地方,一路查下去,发现是log占用太多
清理掉无用log,在使用df -h
然后就能又愉快的使用tab补全提示了。。。
以上是关于如何解决linux报No space left on device错误的主要内容,如果未能解决你的问题,请参考以下文章
linux服务器报No space left on device错误的解决过程记录
linux no space left on device的解决的方法(iNode满导致)
linux 使用systemctl 启动服务报错: Error: No space left on device
Linux 下打包报错:enospc (no space left on device)
linux make时提示No space left on device,如何解决?
Linux使用命令CD时候使用tab报-bash: cannot create temp file for here-document: No space left on