我对linux文件系统不太了解。我的机器上安装了centos。突然我的网络停止工作。/var/tmp/ 中的 sql_2031_0.MYD 文件在网站浏览时变大。它消耗内存并且网络在 100% 填充 tmp 时停止打开。我知道有一些已删除的文件正在占用内存。我使用将内存设置为 0
ls -l /proc/7415/fd/10618322
在此之后,所有已删除的文件现在都使用 0 内存。使用以下命令检查
sudo lsof | grep deleted
在这里您可以查看 db info 和 DF 输出
我猜你的网站是由 MySQL 数据库支持的,该数据库有一个或多个查询,这些查询要么非常复杂,要么写得非常糟糕,以至于它们正在假脱机处理的数据超出了服务器的处理能力。要么,要么查询是完全合理的,并且服务器被严重错误指定/配置。
无论哪种方式,我都会说 MySQL 内存不足,并选择将临时数据假脱机到磁盘表中。如果服务器也显示缺少可用 RAM,则可能表明需要升级 RAM。如果服务器 RAM 看起来没问题,则可能表明 MySQL 未进行最佳配置以使用可用 RAM。
无论如何,我会说您的第一步应该是联系您的 DBA。要求他检查正在进行的数据库活动,以了解运行不佳的查询和高温空间使用情况。
当然,如果您是DBA,那么https://dba.stackexchange.com/questions/30505/why-does-mysql-produce-so-many-temporary-myd-files可能是一个不错的起点。