最近,由于内存不足,我一直无法正常运行。(我的VPS总共有256M)
我正在尝试使用mysqltuner.pl调整MySQL,并获得以下结果:
--------一般统计---------------------------------------- ---------- [-]跳过版本检查MySQLTuner脚本 [确定]当前正在运行受支持的MySQL版本5.0.51a-3ubuntu5.4-log [OK]在64位架构上运行 --------存储引擎统计信息--------------------------------------- ---- [-]状态:+存档-BDB-联合-InnoDB -ISAM -NDBCluster [-] MyISAM表中的数据:114M(表:454) [!!]碎片表总数:34 - - - - 性能指标 - - - - - - - - - - - - - - - - - - - - --------- [-]最多:40秒(570 q [14.250 qps],23 conn,TX:154K,RX:23K) [-]读/写:100%/ 0% [-]缓冲区总数:全局3.380亿+每个线程2.7M(最多20个线程) [!!]可能的最大内存使用量:392.9M(已安装RAM的153%) [确定]慢查询:0%(5/570) [确定]最高可用连接使用率:15%(3/20) [!!]密钥缓冲区大小/总MyISAM索引:8.0M / 9.4M [!!]关键缓冲区命中率:57.1%(7缓存/ 3读取) [确定]查询缓存效率:21.9%(7个缓存/ 32个选择) [确定]每天查询缓存修剪:0 [确定]需要临时表的排序:0%(0个临时排序/ 1个排序) [确定]在磁盘上创建的临时表:0%(磁盘上0 /总计32) [确定]线程缓存命中率:86%(创建3个/ 23个连接) [确定]表缓存命中率:26%(128个打开/ 484个打开) [确定]使用的打开文件限制:25%(259 / 1K) [确定]立即获得表锁:100%(492个立即/ 492个锁) --------建议----------------------------------------- ------------ 一般建议: 运行OPTIMIZE TABLE来对表进行碎片整理以获得更好的性能 MySQL在过去24小时内启动-建议可能不正确 减少总体MySQL内存占用量,以提高系统稳定性 要调整的变量: *** MySQL的最大内存使用率非常高*** ***在增加MySQL缓冲区变量之前添加RAM *** key_buffer_size(> 9.4M)
但是我对如何降低最大内存使用量感到困惑?它似乎基于key_buffer和max_connections,但是还必须包含其他内容吗?
my.cnf:
key_buffer = 8M max_allowed_packet = 12M 线程堆栈= 128K thread_cache_size = 8 max_connections = 20 table_cache = 128 tmp_table_size = 256M max_heap_table_size = 256M join_buffer_size = 256K query_cache_limit = 8M query_cache_size = 64M
我一直在尝试通读MySQL调优文章,但它们似乎是针对那些已经知道自己在做什么的人的!任何帮助,将不胜感激。谢谢!