在 ubuntu 16 OSError 上诊断:[Errno 28] 设备上没有剩余空间:但实际上有足够的空间

在 ubuntu 16 OSError 上诊断:[Errno 28] 设备上没有剩余空间:但实际上有足够的空间

df 报告没有问题,并且有足够的空间和足够的 inode 可用。我仍然可以编写小的新文本文件。崩溃的 python 程序正在写入我在主目录中创建的子目录。我的程序正在写入数百万个非常小的文件,比如超过 1000 万个,也许更多,但我预计总字节数远低于 0.5TB。这是(到目前为止)在相对较新的工作站上很少使用的传统硬盘。有什么方法可以查明这里的问题吗? Ubuntu 主目录有配额限制吗?我只使用 ssh 进入该主机,没有本地 kbd 或 GUI 访问权限,但我可以进行 X 远程处理,因此请限制对命令行的建议,您可以提供给我尝试。谢谢!

inFile: RC_2018-01-24
outDir: tmp
outputToScreenOnly: 0
Traceback (most recent call last):
  File "/mnt/fastssd/bot_subreddit_recom/write_user_docs.py", line 84, in <module>
    with open(fqfn, 'w') as f:          
OSError: [Errno 28] No space left on device: '/home/ga/reddit_data/tmp/yourstrulytony.RC_2018-01-24.doc'
^C(py36) ga@ga-HP-Z820:~/reddit_data$ df
Filesystem                   1K-blocks      Used  Available Use% Mounted on
udev                          65954704         0   65954704   0% /dev
tmpfs                         13196056      9852   13186204   1% /run
/dev/mapper/ubuntu--vg-root 1789679056 318441852 1380303752  19% /
tmpfs                         65980276         0   65980276   0% /dev/shm
tmpfs                             5120         4       5116   1% /run/lock
tmpfs                         65980276         0   65980276   0% /sys/fs/cgroup
/dev/nvme0n1                 492128608 238291700  228815144  52% /mnt/fastssd
/dev/sda2                       483946    157208     301753  35% /boot
/dev/sda1                       523248      3496     519752   1% /boot/efi
tmpfs                         13196056         4   13196052   1% /run/user/1000
(py36) ga@ga-HP-Z820:~/reddit_data$ man df
(py36) ga@ga-HP-Z820:~/reddit_data$ df /
Filesystem                   1K-blocks      Used  Available Use% Mounted on
/dev/mapper/ubuntu--vg-root 1789679056 318441852 1380303752  19% /
(py36) ga@ga-HP-Z820:~/reddit_data$ df -i /
Filesystem                     Inodes    IUsed     IFree IUse% Mounted on
/dev/mapper/ubuntu--vg-root 113647616 11444684 102202932   11% /
(py36) ga@ga-HP-Z820:~/reddit_data$ find tmp -maxdepth 1 -type f | wc -l
10603003
(py36) ga@ga-HP-Z820:~$ uname -a
Linux ga-HP-Z820 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64

答案1

看起来您可能正在填充内存并快速交换以产生此错误。如此小的文件只需很少的时间即可传播。因此,它们的创建速度很可能比物理写入磁盘的速度快。尝试在每个文件创建之间添加睡眠或等待周期,看看是否有帮助。或者在其中添加一些小数据的读取,这将导致文件写入之间的暂停。

相关内容