首页 文章

空闲的mysql数据库是否消耗内存? [关闭]

提问于
浏览
-1

我有一个巨大的mysql数据库,大约5Gb . 我正在将InnoDB用于这些数据库表 . 我注意到PHPMyadmin(MySql在1Gb VPS上运行)变得太慢,有时没有响应 .

因为我把它称为数据库 A )到另一个 B (我每天都在 A 创建新表)

现在数据库A只有300Mb的数据 . 但是,PHPMyadmin仍然很慢,有时候反应迟钝 .

这是由数据库 B 引起的,即使我没有使用它?

编辑:根据“顶部”,MySql消耗大约20%的服务器内存 . 但是,使用“free”命令检查,将分配95%的服务器内存 . 没有其他明显的程序消耗内存 .

1 回答

  • 1

    这取决于您的服务器设置(my.cnf) . 如果你将mySQL配置为通过基于进程的缓冲区(对于myISAM为key_block_size或对于INNODB为innodb_buffer_pool)消耗20%的内存,那么mysql将不会增长,除非查询使用基于线程的缓冲区并且配置为大 .

    如果分配了95%的系统内存,它在哪里分配给?文件系统缓存中的内存是多少?另一个过程?

    还要注意当您移动数据库,删除表等时,大多数情况下刷新用于mySQL的用户内存,并且缓冲区需要重新填充mysql,因此您正在执行的操作会更多地访问磁盘 .

    另一件事 . 如果PHPmyadmin在新数据库内存上运行缓慢 . 您的应用程序可能更难以使用另一个数据库来强制mysql,从而强制PHPMyadmin的所有新查询都会为新数据库的表命中磁盘 .

    所有这些逻辑都是由my.cnf的变化控制的 .

相关问题