搜索
首页数据库mysql教程mySQL占用虚拟内存达8百多兆问题解决思路

为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆,需要的朋友可以参考下

为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆。网上搜索了一下,得到高人指点my.ini。再也没见再详细的了..只好打开my.ini逐行的啃,虽然英文差了点,不过多少M还是看得明的^-^

更改后如下
innodb_buffer_pool_size=576M ->256M InnoDB引擎缓冲区占了大头,首要就是拿它开刀
query_cache_size=100M ->16M 查询缓存
tmp_table_size=102M ->64M 临时表大小
key_buffer_size=256m ->32M

重启mysql服务后,虚拟内存降到200以下
另外mysql安装目录下有几个文件:my-huge.ini 、my-large.ini、my-medium.ini...这几个是根据内存大小作的建议配置,新手在设置的时候也可以参考一下。
2G内存的MYSQL数据库服务器 my.ini优化 (my.ini)
2G内存,针对站少,优质型的设置,试验特:
table_cache=1024 物理内存越大,设置就越大.默认为2402,调到512-1024最佳
innodb_additional_mem_pool_size=8M 默认为2M
innodb_flush_log_at_trx_commit=0 等到innodb_log_buffer_size列队满后再统一储存,默认为1
innodb_log_buffer_size=4M 默认为1M
innodb_thread_concurrency=8 你的服务器CPU有几个就设置为几,默认为8
key_buffer_size=256M 默认为218 调到128最佳
tmp_table_size=64M 默认为16M 调到64-256最挂
read_buffer_size=4M 默认为64K
read_rnd_buffer_size=16M 默认为256K
sort_buffer_size=32M 默认为256K
max_connections=1024 默认为1210

试验一
table_cache=512或1024
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=1M
innodb_thread_concurrency=8 你的服务器CPU有几个就设置为几,默认为8
key_buffer_size=128M
tmp_table_size=128M
read_buffer_size=64K或128K
read_rnd_buffer_size=256K
sort_buffer_size=512K
max_connections=1024

试验二
table_cache=512或1024
innodb_additional_mem_pool_size=8M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=4M
innodb_thread_concurrency=8
key_buffer_size=128M
tmp_table_size=128M
read_buffer_size=4M
read_rnd_buffer_size=16M
sort_buffer_size=32M
max_connections=1024

一般
table_cache=512
innodb_additional_mem_pool_size=8M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=4M
innodb_thread_concurrency=8
key_buffer_size=128M
tmp_table_size=128M
read_buffer_size=4M
read_rnd_buffer_size=16M
sort_buffer_size=32M
max_connections=1024

经过测试.没有特殊情况,最好还是用默认的.
2G内存,针对站多,抗压型的设置,最佳:
table_cache=1024 物理内存越大,设置就越大.默认为2402,调到512-1024最佳
innodb_additional_mem_pool_size=4M 默认为2M
innodb_flush_log_at_trx_commit=1
(设置为0就是等到innodb_log_buffer_size列队满后再统一储存,默认为1)
innodb_log_buffer_size=2M 默认为1M
innodb_thread_concurrency=8 你的服务器CPU有几个就设置为几,建议用默认一般为8
key_buffer_size=256M 默认为218 调到128最佳
tmp_table_size=64M 默认为16M 调到64-256最挂
read_buffer_size=4M 默认为64K
read_rnd_buffer_size=16M 默认为256K
sort_buffer_size=32M 默认为256K
max_connections=1024 默认为1210
thread_cache_size=120 默认为60
query_cache_size=64M

优化mysql数据库性能的十个参数
(1)、max_connections:
允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 too many connections 错误。 默认数值是100,我把它改为1024 。
(2)、record_buffer:
每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128k),我把它改为16773120 (16m)
(3)、key_buffer_size:
索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600(8m),我的mysql主机有2gb内存,所以我把它改为 402649088(400mb)。
4)、back_log:
要求 mysql 能有的连接数量。当主要mysql线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。
back_log 值指出在mysql暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的tcp/ip连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。试图设定back_log高于你的操作系统的限制将是无效的。
当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | null | connect | null | login | null 的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。
(5)、interactive_timeout:
服务器在关闭它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对 mysql_real_connect()使用 client_interactive 选项的客户。 默认数值是28800,我把它改为7200。
(6)、sort_buffer:
每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速order by或group by操作。默认数值是2097144(2m),我把它改为 16777208 (16m)。
(7)、table_cache:
为所有线程打开表的数量。增加该值能增加mysqld要求的文件描述符的数量。mysql对每个唯一打开的表需要2个文件描述符。默认数值是64,我把它改为512。
(8)、thread_cache_size:
可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性能可以这个变量值。通过比较 connections 和 threads_created 状态的变量,可以看到这个变量的作用。我把它设置为 80。
(9)mysql的搜索功能
用mysql进行搜索,目的是能不分大小写,又能用中文进行搜索
只需起动mysqld时指定 --default-character-set=gb2312
(10)、wait_timeout:
服务器在关闭它之前在一个连接上等待行动的秒数。 默认数值是28800,我把它改为7200。

:参数的调整可以通过修改 /etc/my.cnf 文件并重启 mysql 实现。这是一个比较谨慎的工作,上面的结果也仅仅是我的一些看法,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改。
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在win11系统中如何调整虚拟内存?win11系统虚拟内存设置指南在win11系统中如何调整虚拟内存?win11系统虚拟内存设置指南Jan 29, 2024 pm 06:45 PM

虚拟内存是一种可以弥补软件内存不足的技术,它能够提供更好的使用体验。然而,一些用户在升级到Windows11系统后可能不知道如何设置虚拟内存。为了解决这个问题,本站小编为大家提供了最新的设置方法。如果你需要了解完整的步骤,请访问本站获取详细信息。win11设置虚拟内存操作方法1、首先,按键盘win按键,点击找到并进入设置页面。3、接着,在里面找到相关链接中的高级系统设置选项。5、在跳转后的页面中,找到虚拟内存,点击更改按钮即可。

解决win10荒野大镖客2虚拟内存不足的有效方法解决win10荒野大镖客2虚拟内存不足的有效方法Dec 31, 2023 pm 04:29 PM

在玩荒野大镖客2的时候很多小伙伴遇到的最大的问题就是提示虚拟内存不足吧,那么这个问题该怎么解决呢?今天就给大家带来了解决方法一起看看吧。win10荒野大镖客2虚拟内存不足怎么办:1、右击此电脑,点击“属性”。2、点击左侧的“高级系统设置”。3、随后点击“高级”再点击“设置”。4、点击性能中的“高级”选择虚拟内存下面的“更改”。5、取消“自动管理所有驱动器的分页文件大小”前的√,点击“自定义大小”,输入数值,点击设置即可。

虚拟内存设置多少合适虚拟内存设置多少合适Feb 23, 2024 pm 03:34 PM

根据物理内存的大小来决定。具体建议:1、根据微软公司的建议,虚拟内存设为物理内存容量的1.5--3倍;2、如果物理内存为2G,虚拟内存应该设置为3G=3072MB;如果物理内存为4G,那虚拟内存应该设置为6G=6144MB;3、通常推荐将虚拟内存设置为计算机内存总量的1.5到2倍;4、一般跟物理内存差不多。

如何在 Windows 11 中增加虚拟内存(页面文件)如何在 Windows 11 中增加虚拟内存(页面文件)May 13, 2023 pm 04:37 PM

如果您在运行高端应用程序或游戏时注意到一定的延迟,则可能是RAM/内存通常运行已满。这是增加Windows11中的虚拟内存或页面文件大小的地方。虚拟内存或页面文件是最容易被误解的概念之一,围绕它有很多神话。无论其他人说什么或做什么,都必须彻底了解如何从您的计算机中获得最佳性能。在以下部分中,我们将引导您完成在Windows11中增加虚拟内存的步骤,帮助您了解其重要性以及最佳虚拟内存大小。为什么需要虚拟内存?页面文件或虚拟内存基本上是用作RAM的硬盘的一部分。当内存已满且无法存储更多数据时

如何在 Windows 11 中重置虚拟内存(页面文件)?如何在 Windows 11 中重置虚拟内存(页面文件)?Apr 13, 2023 pm 11:28 PM

如果您的计算机没有足够的 RAM 或总是满的,您可以依靠虚拟内存从物理内存中卸载非活动文件。但是,如果这不太顺利,您可能需要在 Windows 11 中重置虚拟内存。我们经常看到我们的计算机滞后,最可能的情况是Windows 11 中的高 RAM 使用率。有很多方法可以降低 RAM 消耗,但这可能会影响您的体验。而且,这就是虚拟内存可以提供帮助的地方。有时需要在 Windows 11 中重置虚拟内存,因此,必须正确理解该概念和过程,我们在以下部分中进行了讨论。虚拟内存是如何工作的,为什么我需要重

虚拟内存分配:16g合适设置吗?虚拟内存分配:16g合适设置吗?Feb 19, 2024 pm 07:42 PM

16G虚拟内存设置多少合适?虚拟内存是计算机系统中的一种技术,它可以通过将部分硬盘空间作为内存的扩充来提升系统的运行效率。对于操作系统来说,虚拟内存是一种非常重要的资源,它可以用来存储暂时不需要的数据,从而释放物理内存供其他程序使用。那么,对于一台具备16G物理内存的计算机来说,该如何设置虚拟内存的大小呢?虚拟内存的大小是由操作系统自动管理的,但我们也可以手

适当的Win10虚拟内存设置是多少?适当的Win10虚拟内存设置是多少?Jan 15, 2024 am 08:03 AM

其实,所谓的虚拟内存实质上是在硬盘上为它开辟出的一片面积广大的特别区域,由Windows系统将此视为内存使用。究竟怎样才能设置出理想的虚拟内存大小呢?win10虚拟内存设置多少合适答:win10虚拟内存设置为物理内存的1.5倍最合适。这仅是参考值,具体设置方式视实际情况而定,设置区间最小是物理内存的1-1.5倍,最大则不超过物理内存的2-2.5倍,具体设置方法可点击右侧链接进行查看详细内容。(win10虚拟内存设置方法)win10虚拟内存设置在哪个盘最好答:win10虚拟内存设置在C盘最好。由于

如何设置虚拟内存性能最佳win10「最新win10提示虚拟内存不足解决步骤」如何设置虚拟内存性能最佳win10「最新win10提示虚拟内存不足解决步骤」Feb 07, 2024 am 10:39 AM

最近有不少用户反馈,电脑自已本身的物理内存已经有8G甚至16G,不过在使用程序时还是会弹出虚拟内存不足的提示,而且系统也变很卡,那么对于这种情况我们该怎么解决呢?接下来就给大家详细介绍解决win10虚拟内存不足的具体操作,有需要的朋友一起来看看吧。1在桌面上右键点击此电脑,选择“属性”,如下图所示:点击输入图片描述(最多30字)2、接着在弹出的窗口,选择“高级系统设置”,如下图所示:点击输入图片描述(最多30字)3、在跳出的系统属性窗口选择性能下方的“设置”按钮,如下图所示:点击输入图片描述(最

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器