我们有 SUSE Linux 操作系统:
$ uname -a
Linux 3.0.13-0.27-default #1 SMP Wed Feb 15 13:33:49 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
仅对于特定文件,文件创建失败,错误为设备上没有剩余空间。我们可以创建其他文件,出了什么问题?在当前情况下:
Inode 使用率仅为 47%
$ df -i . Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/appvg-dsfs 39321600 18218000 21103600 47% /dsfs
磁盘使用率仅为82%
$ df -h . Filesystem Size Used Avail Use% Mounted on /dev/mapper/appvg-dsfs 591G 457G 105G 82% /dsfs
在这种情况下创建一个特定文件失败
JDE_GL_INCR_STG_201504_181.log.load.058
$ echo "a" > JDE_GL_INCR_STG_201504_181.log.load.058 -bash: JDE_GL_INCR_STG_201504_181.log.load.058: No space left on device echo "a" > testfile $ mv JDE_GL_INCR_STG_201504_181.log.load.058 tempfile mv: cannot stat `JDE_GL_INCR_STG_201504_181.log.load.058': No such file or directory
可以创建其他文件
答案1
可能是你用完了信号量。请以 root 身份尝试此操作
ipcs -s
并检查是否有大量信号量由同一用户拥有。如果是,请运行以下命令
ipcs -s |grep username |awk '{print $2}'
在上面的命令中将用户名替换为实际用户。
答案2
确实看起来像是哈希冲突问题。您是否尝试过在同一分区上的任何其他空目录中创建完全相同的文件来测试它是否真的是哈希冲突问题或其他问题!!
答案3
当我安装有故障或损坏的驱动器时,我见过这种性质的问题。如果您smartctl
在主机上安装了,请针对设备运行它(smartctl -a /dev/<device>
)。不同的驱动器有不同的数据,但请查找以下内容:uncorrected errors, multi_zone_error_rate, current_pending_sector, raw_read_error_rate
,或者它是否显示驱动器发生故障。这些都是状态不佳的指标。
答案4
首先检查您尝试创建的文件的大小。文件可能非常大。好的,我知道上述问题的可能性很小,请将文件重命名为其他名称或使用其他文件名创建它。