本人在1T nvme ssd上装了Ubuntu衍生版本budgie,用作数据分析。
在用tar解压一个包含960万个小文件的tar.gz文件(15G)时,报如下错误:
tar: ./ports/aeb81bfa8129_120.json: Cannot open: No space left on device
开始以为是磁盘空间不足,或者inode耗尽。但通过df -h和df -i命令查看,均远未耗尽。
百思不得其解,求高人指点。
本人在1T nvme ssd上装了Ubuntu衍生版本budgie,用作数据分析。
在用tar解压一个包含960万个小文件的tar.gz文件(15G)时,报如下错误:
tar: ./ports/aeb81bfa8129_120.json: Cannot open: No space left on device
开始以为是磁盘空间不足,或者inode耗尽。但通过df -h和df -i命令查看,均远未耗尽。
百思不得其解,求高人指点。
让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言根据您提供的信息,磁盘空间和inode均未耗尽的情况下,可能是由于文件系统的限制导致的问题。 在ext系列的文件系统中,默认情况下,每个文件系统都有一定数量的保留inode,用于系统紧急情况下使用。当磁盘空间不足时,这些保留inode可能导致无法继续创建新文件。这可能是您遇到的问题。 您可以使用`dumpe2fs`命令查看文件系统的保留inode数量,以及是否启用了quota限制。您可以尝试通过增加保留inode的数量或者禁用quota来解决这个问题。 以下是具体的操作步骤:
sudo dumpe2fs <你的磁盘分区> | grep "Reserved block count\|Block quota\|Inode count"
tune2fs
命令来增加保留inode数量或者禁用quota:# 增加保留inode数量,例如增加到10%:
sudo tune2fs -m 10 /dev/<你的磁盘分区>
# 禁用quota:
sudo quotaoff -a