我在具有1GB内存的VPS Windows 2008 Web服务器上安装了MySQL。
有没有办法为MYSQL设置最大内存使用限制。
如果可以通过它完成工作台的安装。
非常感谢
约翰
答案 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
并查找内存信息块