防止 VPS 服务器因 inode 和内存限制而崩溃

防止 VPS 服务器因 inode 和内存限制而崩溃

我是 VPS 新手,对 Linux 的了解很少。

我使用共享主机已经 3 年了,其中有近 100 个 Joomla 网站,使用了 16GB 的磁盘空间,每月传输量为 18GB。

在共享主机上,由于我有很多小文件,因此出现 Inode 备份失败警告,但它从未导致服务器或我的网站崩溃。

现在我换了一个 VPS,内存 2GB,硬盘 50GB。换到 VPS 后,一个个移动网站,我的 Inode 限制超标了(137%)。

现在,当我尝试提取 600MB 的 zip 文件时,它说 php 内存限制超出了某些限制……并且我的服务器崩溃/关闭了。

在联系托管服务提供商支持后,他们说这是因为我使用的 inode 而发生的。

请任何人帮助我,我该如何配置服务器,所以-1.如果文件数量超过inode限制,则仅拒绝inode备份但不会导致服务器崩溃。2.如果我上传的文件大到服务器无法支持或使用的内存超过服务器拥有的内存,那么仅拒绝当前操作但不会导致服务器崩溃。

答案1

添加 inode - 您需要更大的文件系统。Inode 类似于电话列表,每个文件和目录都列在这里,以便操作系统可以轻松找到它(它包含文件的元数据和保存数据的驱动器上的地址)。如果您有许多小文件,此列表可能会已满,您无法创建任何新文件 - 包括临时文件、pid 文件等。因此,您必须限制文件数量以获得更大的文件系统。

广告内存限制 - 您可以在 php.ini 中配置 php 可以使用多少内存。达到此限制时,PHP 会以致命错误结束(它不会使服务器崩溃,只是一次请求出错)。您必须将此限制设置为上限。但要小心 - 给 PHP 整个服务器的内存绝对不是一个好主意。2GB 内存对于提取 600MB 的 zip 文件来说太小了。也许您可以使用 exec() 并像普通 bash 命令一样运行 unzip。

相关内容