社区
MySQL
帖子详情
为什么Mysql的Qcache_free_memory还很大,但是Qcache_lowmem_prunes却不为0且一直在增加?
喂马
2012-09-11 09:37:47
最近接手管理几台Mysql服务器,原先query_cache_size为4G,被我改成了512M,后来就出现了如题描述的问题
...全文
601
8
打赏
收藏
为什么Mysql的Qcache_free_memory还很大,但是Qcache_lowmem_prunes却不为0且一直在增加?
最近接手管理几台Mysql服务器,原先query_cache_size为4G,被我改成了512M,后来就出现了如题描述的问题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
喂马
2012-09-26
打赏
举报
回复
我觉得你说的这种情况仅限于可能性,我还是怀疑是由于我修改query_cache_size后没有重启mysql导致的,但不能确定。
你的回复还是最给力的,谢谢!
[Quote=引用 3 楼 的回复:]
是不是有取很大的结果集 直接占用了很大的缓存,然后就缓存占光
但是缓存的数据涉及的表又频繁变更,导致这个占用大空间的sql的结果集cache频繁过期
所有就会看到虽然留有很大空闲空间,但是被换出结果集很多
[/Quote]
珠海-天堂
2012-09-13
打赏
举报
回复
mysql> select 134217728/1024/1024;
+---------------------+
| 134217728/1024/1024 |
+---------------------+
| 128.00000000 |
+---------------------+
1 row in set (0.00 sec)
超过128M的结果集的SQL,就不会被CACHE到。
可用内存330M也没用
+----------------------+
| 346697536 /1024/1024 |
+----------------------+
| 330.63653564 |
+----------------------+
1 row in set (0.02 sec)
珠海-天堂
2012-09-13
打赏
举报
回复
mysql> select 134217728/1024/1024;
+---------------------+
| 134217728/1024/1024 |
+---------------------+
| 128.00000000 |
+---------------------+
1 row in set (0.00 sec)
超过128M的结果集的SQL,就不会被CACHE到。
可用内存330M也没用
+----------------------+
| 346697536 /1024/1024 |
+----------------------+
| 330.63653564 |
+----------------------+
1 row in set (0.02 sec)
喂马
2012-09-13
打赏
举报
回复
不是的,内存总大小有32G,现在还有23G左右可用
[Quote=引用 4 楼 的回复:]
query_cache_size设置太大导致缓存把内存吃光了。
[/Quote]
rucypli
2012-09-12
打赏
举报
回复
是不是有取很大的结果集 直接占用了很大的缓存,然后就缓存占光
但是缓存的数据涉及的表又频繁变更,导致这个占用大空间的sql的结果集cache频繁过期
所有就会看到虽然留有很大空闲空间,但是被换出结果集很多
喂马
2012-09-12
打赏
举报
回复
(root:MYSQLNUM05:)[(none)]> show status like 'Qcache_%';
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| Qcache_free_blocks | 67495 |
| Qcache_free_memory | 346697536 |
| Qcache_hits | 27205076 |
| Qcache_inserts | 8413944 |
| Qcache_lowmem_prunes | 723463 |
| Qcache_not_cached | 2838399 |
| Qcache_queries_in_cache | 109282 |
| Qcache_total_blocks | 288054 |
+-------------------------+-----------+
8 rows in set (0.00 sec)
(root:MYSQLNUM05:)[(none)]> show variables like 'query_cache_%';
+------------------------------+-----------+
| Variable_name | Value |
+------------------------------+-----------+
| query_cache_limit | 134217728 |
| query_cache_min_res_unit | 2048 |
| query_cache_size | 536870912 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
+------------------------------+-----------+
5 rows in set (0.00 sec)
[Quote=引用 1 楼 的回复:]
从来没见过开这么大的query_cache,这个东西最好别开
贴你的语句显示
[/Quote]
rucypli
2012-09-12
打赏
举报
回复
从来没见过开这么大的query_cache,这个东西最好别开
贴你的语句显示
Rotel-刘志东
2012-09-12
打赏
举报
回复
query_cache_size设置太大导致缓存把内存吃光了。
MySQL
56,677
社区成员
56,708
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章