在我的 Mac 上,在零连接的情况下重新启动后,MySQL 当前使用 40MB 内存、188MB 虚拟内存(磁盘数据库分页?),并有 16 个线程。
由于只有一个人访问服务器(我),并且我一整天都不会频繁访问它,我该如何配置 MySQL 以使其在空闲时消耗更少的内存?
我不介意它在执行查询时消耗尽可能多的资源,但希望减少开发会话之间的占用空间。由于我所工作的网站的运作方式,它每次只会运行一个查询,或许偶尔会出现两个同时进行的查询。
我在 Mac OS X Server 10.7 上运行 MySQL,使用 Oracle 的官方下载,无需更改任何配置。
40MB 通常已经足够了,但最近我一直在做一些非 MySQL 开发工作,确实需要系统中的每一寸内存,而且我不想每天启动/停止 MySQL 几次。
答案1
这取决于您的表使用什么存储引擎。
如果您使用的都是 MyISAM,则可以按如下方式完全禁用 InnoDB:
步骤 01)将此选项添加到 my.cnf
[mysqld]
skip-innodb
query-cache-type=0
步骤02)重启mysql
通过执行这两个步骤
- mysqld 启动更快
- 默认 InnoDB 缓冲池(innodb_buffer_pool_size) 未创建
- MySQL 5.5 之前默认为 8M
- 从 MySQL 5.5 开始默认为 128M
- 和查询缓存类型= 0,查询缓存已禁用