磁盘配额超出问题

磁盘配额超出问题

我正在使用 Debian Squeeze。突然我开始面临一个问题,我的用户无法创建目录和其他此类任务。跑步mkdir abc给了我

mkdir: cannot create directory 'abc': Disk quota exceeded

我的硬盘未满df -h结果是

Filesystem            Size  Used Avail Use% Mounted on
/dev/md1              1.8T   39G  1.8T   3% /
tmpfs                 7.8G     0  7.8G   0% /lib/init/rw
udev                  7.8G  148K  7.8G   1% /dev
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/md0              243M   31M  200M  14% /boot

uname -a可能需要的输出是

Linux server 2.6.32-5-686-bigmem #1 SMP Sun Sep 23 10:27:25 UTC 2012 i686 GNU/Linux

笔记:如果我以 root 身份登录,那么一切都很好。此问题仅存在于特定用户

编辑:输出quota

Disk quotas for user user (uid 1000): none

的输出quota -g

Disk quotas for group user (gid 1000): 

Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
/dev/disk/by-uuid/26fa7362-fbbf-4a9e-af4d-da6c2744263c
8971324* 1048576 1048576    none   43784       0       0  

答案1

我的问题是我超出了文件系统支持的 inode(文件条目)数量。命令

df -i

揭示了我的虚拟机中的问题:

Filesystem      Inodes   IUsed IFree IUse% Mounted on
/dev/vzfs      1500000 1500000     0  100% /

删除一些不必要的小文件或增加索引节点数量(更复杂)可以解决该问题。像这样的命令可以帮助找到哪些目录中有很多文件(在本例中是在 /var 下搜索):

find /var -type d -size +256k

答案2

磁盘未满,但该用户允许的磁盘空间已满。您需要检查quota(1),也许说服嫌疑人清理他们的垃圾,或者以善意的方式增加垃圾edquota(8)

答案3

我不使用 Debian Squeeze,但我遇到了类似的问题,也许这可以帮助其他人。我的用户帐户是针对学生的,因此它比我在家用计算机上运行 Linux 的速度要低得多,但仍然......在我运行的程序中,我将输出写入文件。我遇到了无限循环,不得不从程序中使用 cntrl-C 来取消它。发生这种情况后,我继续收到我的配额已满并且无法保存任何内容的错误。解决方案:删除我的循环正在写入的输出文件。删除它并修复我的循环后,我的配额再次被释放。

答案4

du -sch .[!.]* * |sort -h

在主目录(例如/usr2)中使用此命令来检查哪些隐藏文件夹正在占用空间。

您还可以检查是否有包缓存。它可以安全地移除

相关内容