即使有 df -h 所说的可用空间,也无法写入文件系统

即使有 df -h 所说的可用空间,也无法写入文件系统

我正在 java 程序中将文件(大量小文件)写入文件系统,然后突然抛出“设备上没有剩余空间”异常。然后我检查了 df-h 的输出,它说磁盘上有足够的可用空间。我试图编写的特定文件系统是/media/sam/Sam.

现在,如果我尝试创建一个文件 ( touch test.txt),它会显示touch: cannot touch ‘test.txt’: No space left on device.这仅适用于 /media/sam/Sam,因为我可以在其他文件系统中创建文件(/media/sam/Sam 是来自我的 Windows 机器的 ntfs 分区)。

这是 df-h 的当前输出:

Filesystem                          Size  Used Avail Use% Mounted on
udev                                5.9G  4.0K  5.9G   1% /dev
tmpfs                               1.2G  1.4M  1.2G   1% /run
/dev/sda5                           156G  134G   15G  91% /
none                                4.0K     0  4.0K   0% /sys/fs/cgroup
none                                5.0M     0  5.0M   0% /run/lock
none                                5.9G   71M  5.8G   2% /run/shm
none                                100M   24K  100M   1% /run/user
/dev/sda3                           176G  154G   23G  88% /media/sam/Sam //where i'm writing
/dev/sda2                           105G  103G  2.3G  98% /media/sam/System
/dev/sda1                           100M   25M   76M  25% /media/sam/Windows

这是 df -i 的当前输出(表示我也有足够的空闲索引节点):

Filesystem                           Inodes    IUsed    IFree IUse% Mounted on
udev                                1523763      552  1523211    1% /dev
tmpfs                               1526458      584  1525874    1% /run
/dev/sda5                          10362880  4740267  5622613   46% /
none                                1526458        2  1526456    1% /sys/fs/cgroup
none                                1526458        3  1526455    1% /run/lock
none                                1526458      163  1526295    1% /run/shm
none                                1526458       25  1526433    1% /run/user
/dev/sda3                          46666376 23011679 23654697   50% /media/sam/Sam //where i'm writing
/dev/sda2                           3523948  1108920  2415028   32% /media/sam/System
/dev/sda1                            142516      100   142416    1% /media/sam/Windows
  • 我尝试过的几件事:

    • 我尝试清理一些空间(比如 10GB),但我的 java 代码再次抛出异常它填充了新清理的10GB空间(使用1GB空间后发生)。然后我什至无法从终端写任何东西。

    • 我还尝试chkdsk /f从 Windows 启动后运行,就像我在其他地方看到的那样,这解决了其他人的问题,但对我不起作用。我现在真的没有办法尝试,这是我尝试解决此问题的第二天,因此非常感谢您的帮助。如果您需要更多信息,请告诉我。

    • 重新启动也没有帮助。

我的操作系统是 Ubuntu 14.04,安装了 Kubuntu 桌面管理器。

编辑

fdisk -l 的输出:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xde15f6b0

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   219014144   109403648+   7  HPFS/NTFS/exFAT
/dev/sda3       219015168   587653119   184318976    7  HPFS/NTFS/exFAT
/dev/sda4       628611070   976771071   174080001    f  W95 Ext'd (LBA)
Partition 4 does not start on a physical sector boundary.
/dev/sda5       628613120   960174079   165780480   83  Linux
/dev/sda6       960186368   976771071     8292352   82  Linux swap / Solaris

相关内容