我正在 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