我们有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
只有特定文件的文件创build失败,错误没有留下设备上的空间。 我们能够创build其他文件,出了什么问题? 在当前的情况下:
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
在这种情况下,创build一个特定文件的文件失败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
其他文件的文件创build是可能的
也许你用尽信号量。 试试这个作为根
ipcs -s
并检查是否有相同的用户拥有大量的信号量。 如果是这样,运行以下命令
ipcs -s |grep username |awk '{print $2}'
在上面的命令中将用户名replace为实际用户。
真的看起来像散列碰撞问题。 你有没有尝试在同一分区上的任何其他空目录中创build完全相同的文件,以testing它是否真的是散列冲突问题或其他的东西!
当我安装了错误或损坏的驱动器时,我已经看到了这种性质的问题。 如果主机上有smartctl ,请在设备上运行( smartctl -a /dev/<device> )。 不同的驱动器有不同的数据,但要查找如下内容: uncorrected errors, multi_zone_error_rate, current_pending_sector, raw_read_error_rate ,或者说驱动器发生故障。 这些都是指标,不是最好的状态。
首先检查你正在创build的文件的大小。 该文件可能非常大。 好吧,我知道上述问题的可能性很低的可能性,将文件重命名为不同的名称或使用不同的文件名创build它。