2013-05-16 131 views
1

我在安装有1GB内存的VPS Windows 2008 Web服务器上安装MySQL。MYSQL内存使用情况

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

如果可以通过它完成工作,我安装了工作台。

非常感谢

约翰

+0

我这么认为。检查mysql目录中的ini文件。 (称为mycnf.ini !?)并更改值,然后重新启动mysql。 – bestprogrammerintheworld

回答

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”并查看内存使用情况何时停止。

请注意,尽管从操作系统中分配内存的方式可能不会造成 请参阅“VSZ”关闭。您可能会看到的是定期刷新表格 或降低表格缓存将内存消耗减少为 ,原因是。

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