我不太了解 linux 文件系统。我的机器上安装了 centos。突然我的网站停止工作了。当有人浏览网站时,/var/tmp/ 中的 sql_2031_0.MYD 文件会变大。它会消耗内存,并且网站会在 tmp 占用 100% 时停止打开。我知道有一些已删除的文件占用了内存。我使用以下命令将内存设置为 0
ls -l /proc/7415/fd/10618322
此后,所有已删除的文件均使用 0 内存。使用以下命令进行检查
sudo lsof | grep deleted
在这里你可以查看数据库信息和 DF 输出
答案1
我猜你的网站是由 MySQL 数据库支持的,该数据库有一个或多个查询要么太复杂,要么写得很糟糕,以至于它们处理的数据超过了服务器的处理能力。要么查询完全合理,而且服务器这是严重错误指定/配置的。
不管怎样,我认为 MySQL 内存不足,并选择将临时数据缓存到磁盘表。如果服务器还显示可用 RAM 不足,则可能是 RAM 升级的必要信号。如果服务器 RAM 看起来正常,则可能是 MySQL 未以最佳方式配置以使用可用 RAM。
无论如何,我认为您的第一步应该是联系您的 DBA。要求他/她检查正在进行的数据库活动,以查找运行不良的查询和高临时空间使用率。
当然,如果你是然后是 DBAhttps://dba.stackexchange.com/questions/30505/why-does-mysql-produce-so-many-temporary-myd-files可能是个不错的起点。