ディスククォータ超過の問題

ディスククォータ超過の問題

私はDebianスクイーズを使用しています。突然、ユーザーがディレクトリやその他のタスクを生成できないという問題に直面し始めました。走って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% /

不要な小さなファイルを削除するか、inodeの数を増やす(複雑にする)ことで問題を解決できます。次のコマンドは、多くのファイルを含むディレクトリを見つけるのに役立ちます(この場合は/ varで検索)。

find /var -type d -size +256k

答え2

ディスクがいっぱいではありませんが、このユーザーに許可されているディスク容量がいっぱいです。あなたはquota(1)容疑者がゴミを取り除くか、やさしい方法でゴミを追加するようにし、説得する必要がありますedquota(8)

答え3

私はDebian Squeezeを使用しませんが、同様の問題に遭遇しました。たぶんこれは他の人に役立つかもしれません。私のユーザーアカウントは学生用なので、自宅でLinuxを実行するよりもはるかに遅いですが、それでも...私が実行しているプログラムは出力をファイルに書き込みます。無限ループに陥り、それをキャンセルするには、プログラムでcntrl-Cを使用する必要がありました。これが発生した後も、クォータがいっぱいになり、何も保存できないというエラーが発生し続けます。回避策:私のループが書いている出力ファイルを削除してください。これを削除してループを修正した後、クォータは再び解放されました。

答え4

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

ホームディレクトリ(たとえば/usr2)でこのコマンドを使用して、隠しフォルダがスペースを占有していることを確認します。

パッケージキャッシュがあるかどうかを確認することもできます。安全に取り外せます。

関連情報