いくつかの解決策を試しましたが、ある程度しか機能しませんでした。 https://unix.stackexchange.com/questions/37329/efficiently-delete-large-directory-taining-thousands-of-files?newreg=07f276292205457ab9975a0ea68e927
http://www.slashroot.in/which-is-the-fastest-method-to-delete-files-in-linux
Iノードの8%を解放した後、ディスクは非常に遅くなり、それ以上何も削除できなくなります。
rm -f filename*
rsync -a --delete empty_dir/ yourdirectory/
Perl -e 'for(<*>){((stat)[9]<(unlink))}'
そして、ディスクは今このように見えます
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda1 2621440 2385895 235545 92% /
tmpfs 128789 1 128788 1% /dev/shm
ディレクトリにはまだ600万以上の小さなファイルがあります。上記のメソッドは約2ファイル/秒で削除します
Bツリーのリバランスについて読みました。しかし、どうすれば遅い削除の問題を診断/解決できますか?
`` `
簡単な方法は、現在の/tmp
ディレクトリを移動/名前変更し、新しいディレクトリを作成して、/tmp
の通常の使用に影響を与えないようにすることです。
mkdir /newtmp
chmod 1777 /newtmp
mv /tmp /tmp-old && mv /newtmp /tmp
/var/tmp
についても同じことをする必要があるかもしれません。これにより、/ tmp-oldを平和的にクリーンアップできます。
緩和策として:
メモリの一部を使用して、PHPセッションファイルのストレージとして使用する個別のtempfsパーティションを作成することを検討してください。これにより、システムの他の部分への影響が多少制限されます。
つまり.
mkdir /var/cache/php
chmod 1777 /var/cache/php
mount -t tmpfs size=500M /var/cache/php
php.ini
を編集して設定します
session.save_path = "/var/cache/php"