为什么当磁盘上有5GB可用空间时,从后缀中获得“写入队列文件:设备上没有剩余空间”?

它今天开始发生……突然,没有明显的理由!

这是df的输出:

 assp:〜#df -k
文件系统1K块已用可用使用%挂载
 / dev / simfs 6291456 1378384 4913072 22%/
 tmpfs 8202680 0 8202680 0%/ lib / init / rw
 tmpfs 8202680 0 8202680 0%/ dev / shm

 assp:〜#df -i
已安装IFree IUse%的文件系统Inode
 / dev / simfs 55781934 83005 55698929 1%/
 tmpfs 2050670 2 2050668 1%/ lib / init / rw
 tmpfs 2050670 1 2050669 1%/ dev / shm

 assp:〜#df -h
使用的文件系统大小可用使用%
 / dev / simfs 6.0G 1.4G 4.7G 22%/
 tmpfs 7.9G 0 7.9G 0%/ lib / init / rw
 tmpfs 7.9G 0 7.9G 0%/ dev / shm

这是来自/var/log/mail.warn的一个实际的条目:

 Dec 11 17:55:37 assp postfix / smtpd [30614]:警告:邮件队列中没有足够的可用空间:0字节<1.5 *邮件大小限制
 Dec 11 17:55:37 assp postfix / cleanup [30617]:warning:4361D850D54:写入队列文件:设备上没有剩余空间

你可能想运行一个df-i来查看你是否用完了所有的inode 。

您可以拥有可用的存储空间,并且无法添加文件。

 cache:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 132G 68G 58G 55% / cache:~# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 17514496 13543293 3971203 78% / 

您也可能想要检查是否有任何配额设置( repquota -va )。

5%(iirc)的空间是为root保留的,可能是你的文件系统对于普通用户是“full”的。 你可以得到更多的信息与例如

tune2fs -l / dev / sda1

哪个设备已满? 也许在一个分区上有足够的空间,但另一个分区(例如/ tmp)是满的? 做一个df -h ,看看是否有任何分区接近完整,然后找出后缀是否使用该分区。

只是好奇,但你的队列大小是2GB? 我想知道,如果它正在运行到一个文件系统的大小限制或后缀的硬限制。 我知道,当Apache在日志文件上达到2GB时就死掉了(或者至less在一个点上)

http://www.mail-archive.com/[email protected]/msg07849.html

Postfix试图避免系统100%已满并且不能再完成工作的情况。

为了完全避免这种情况,Postfix将必须保留大小为(消息大小限制*入站并发)的空间量。 不幸的是,这在许多情况下是不实际的,所以它达到了邮件大小限制的1.5倍。

这意味着虽然你有5GB的空间 – 你的设置是这样的,你需要更多。

我在OpenVZ虚拟机上有同样的问题。 空间暂时被备份。