PHP / var / lib / php / session完全错误的可能原因

我遇到了问题,我的PHP会议,我不知道如何解决这个问题。

>> df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/vglocal20120426-root00 36274176 32885458 3388718 91% / tmpfs 6176642 1 6176641 1% /dev/shm /dev/sda1 64000 47 63953 1% /boot /dev/mapper/vglocal20120426-tmp00 131072 1703 129369 2% /tmp 

 >> df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vglocal20120426-root00 545G 248G 270G 48% / tmpfs 24G 0 24G 0% /dev/shm /dev/sda1 243M 31M 199M 14% /boot /dev/mapper/vglocal20120426-tmp00 2.0G 802M 1.1G 42% /tmp 

我有这个疯狂的统计

 drwx-wx-wt 2 root root 1016389632 Jul 9 08:13 session 

iNodes已经是91%,并且每秒都在持续增长。 问题是我没有巨大的stream量(基于实时分析)到我的网站。 我不确定这里发生了什么事。 如何回溯这个问题,防止这种情况再次发生。

我们closures了PHP垃圾收集器,每8小时使用一次cronjob来删除旧的会话。

现在技术支持运行一个脚本删除会话文件,它一直运行,所以它永远不会结束的过程。

感谢有人能帮助我。 谢谢

那么,是的,你已经陷入了一片混乱。 问题在于目录中的许多文件,它可能需要几个星期才能删除所有文件。 你不想要一个cronjob(还) – 他们可能只是彼此堆放在一起,使问题变得更糟。 你也要小心你的删除方式 – 你不能有任何东西试图填充或枚举所有的文件,因为这将需要很长的时间,并且需要大量的内存才能真正删除任何事情; 相反,你需要一个脚本,它会readdir和删除,因为他们来了(我怀疑,虽然我不知道, find -delete – 删除可能会这样做;当我不得不删除几百万个文件,我用一个小ruby脚本) 。

一旦你的问题得到了控制(在几个星期之内), 那么你可以每小时运行一次cronjob来核实任何超过几天/周/任何东西的东西。 我的猜测是你有几年的会话文件在那里。 如果我知道怎么做,那该死的 – 根据我的经验,PHP对于控制这种事情并不坏。