
Centos と cPanel サーバーを使用していますが、INODES の使用に関して重要な問題があります。
「df -i」コマンドは、/ ディレクトリが 600 万個の i ノードを使用していることを示しています。
/ ディレクトリのファイル数を確認すると、数千個のファイルがあります。
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda4 6578176 6567525 10651 100% /
tmpfs 8238094 1 8238093 1% /dev/shm
/dev/sdi1 61054976 169 61054807 1% /backup
/dev/sda1 51296 38 51258 1% /boot
/dev/sda2 0 0 0 - /boot/efi
/dev/sdc1 7290880 1252 7289628 1% /database
/dev/sdb2 4096000 53258 4042742 2% /home
/dev/sdd1 7290880 3500 7287380 1% /home2
/dev/sde1 7290880 68909 7221971 1% /home3
/dev/sdg1 7290880 68812 7222068 1% /home5
/dev/sdh1 7290880 695076 6595804 10% /home6
/dev/sdf1 7290880 58658 7232222 1% /tmp
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 99G 30G 65G 32% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sdi1 917G 270G 601G 32% /backup
/dev/sda1 788M 80M 669M 11% /boot
/dev/sda2 400M 296K 400M 1% /boot/efi
/dev/sdc1 110G 1.5G 103G 2% /database
/dev/sdb2 62G 1.1G 58G 2% /home
/dev/sdd1 110G 79G 26G 76% /home2
/dev/sde1 110G 3.9G 101G 4% /home3
/dev/sdg1 110G 51G 54G 49% /home5
/dev/sdh1 110G 64G 41G 62% /home6
/dev/sdf1 110G 611M 104G 1% /tmp
Iノードの使用
160 - backup
102 - bin
36 - boot
1243 - database
1197 - dev
1733 - etc
53862 - home
3529 - home2
68986 - home3
1 - home4
68814 - home5
695229 - home6
10738 - lib
359 - lib64
1 - lost+found
1 - media
1 - mnt
806 - opt
262898 - proc
1780 - root
170 - sbin
1563 - selinux
1 - srv
20034 - sys
56921 - tmp
89539 - usr
8274 - var
SDA ディスクにはオペレーティング システムと cPanel のみが含まれています。SDA ディスクにはアカウント、データベース、tmp はありません。
SDA が高 i ノードを使用するのはなぜですか?
注: すべてのディスクはSSD 120GBです
ありがとう。
答え1
次のいずれかがあります:
a) の下に 600 万個のファイル/ディレクトリ/リンクがあります/
。または、
b) ファイル システムが破損しています。
私は(b)に賭けます。システムを停止してfsck
(fsck -y
痛みを最小限に抑える)を実行し、混乱が解消されるかどうか確認することをお勧めします。
ファイルシステムがない破損している場合は、いくつかのファイルを削除してください。
答え2
おそらく、/var/tmp に多くの PHP セッションがあります。php.ini の設定を確認し、セッションの自動開始機能を無効にしてください。また、ここで問題は解決されています:https://stackoverflow.com/questions/653096/howto-free-inode-usage
答え3
サーバーのメモリ制限のため、このディレクトリをクリアするのは複雑すぎる場合があります。シェル コマンド「find」は大量のメモリを使用するため、サーバーがこのコマンドを自動的に終了することがよくあります。私の場合、このディレクトリ内に約 2M のファイルがあり、「find」は機能しませんでした。同じ問題がある場合は、ファイルを 1 つずつ削除するのが最善の方法であり、私見ではこのコマンドを使用するのが最善の方法です (必要に応じて「head」を削除できます -)))
- /var/lib/php/sessionsに移動します
- ls -U | ヘッド -100000 | xargs rm
楽しむ!
答え4
私のCentOSサーバーでは、PHPセッションはセッションセッションファイルを削除する
rm -f /var/lib/php/sessions/*
ディレクトリ内にファイルが多すぎるため動作しません。
find session/ -type f|xargs rm