MYSQL内存使用情况

时间:2013-05-16 12:08:00

标签: mysql memory workbench

我在具有1GB内存的VPS Windows 2008 Web服务器上安装了MySQL。

有没有办法为MYSQL设置最大内存使用限制。

如果可以通过它完成工作台的安装。

非常感谢

约翰

1 个答案:

答案 0 :(得分:2)

如果你真的想要施加硬限制,你可以这样做,但你必须在操作系统级别这样做,因为没有内置设置。在linux中,你可以使用ulimit,但你可能不得不修改MySQL启动的方式来强加它。

最佳解决方案是调低服务器,以便通常的MySQL内存设置的组合将导致MySQL安装的内存使用量降低。这当然会对数据库的性能产生负面影响,但您可以在my.ini中调整的一些设置是:

key_buffer_size
query_cache_size
query_cache_limit
table_cache
max_connections
tmp_table_size
innodb_buffer_pool_size

要在Linux中绘制内存使用情况,您可以轻松使用脚本

while true
do
  date >> ps.log
  ps aux | grep mysqld >> ps.log
  sleep 60
done

如果您要检查表缓存相关的分配  运行“FLUSH TABLES”并查看内存使用率是否下降。

  

请注意,但由于您可能没有从OS分配内存   看到“VSZ”下降。您可能会看到的是冲洗表格   定期或减少表缓存减少内存消耗   理由是这样。

检查Innodb分配的内存量通常很有帮助。事实上,这通常是我做的第一件事,因为它是最不具侵入性的。运行SHOW ENGINE INNODB STATUS并查找内存信息块