当前位置:网站首页>MySQL takes up too much memory solution
MySQL takes up too much memory solution
2022-07-06 12:13:00 【A pole】
List of articles
Preface
For some petty bourgeoisie players , The number of servers and memory are often very limited , My personal server configuration is 2 nucleus 4G5M.
4G Memory for Java Game player , It's really not big , Open several middleware + Their own micro services are really crowded , Then spread it MySQL This big enemy . I'm on this machine MySQL Only a few M Memory ( Although I don't use it very much , But this machine MySQL It's really on ):
And the server accounts for 400M, In fact, there is no throughput , Just play by yourself , This memory occupation is really a little unbearable ...
Solution
Learned that you can reduce by modifying the configuration MySQL Memory footprint , I tried , And recorded . Because I have two servers at the same time , One is equipped with windows service 2016, Another one is equipped with CentOS7, The situation of both sets is similar , So make two records at the same time , For your reference .
Find the configuration file
Windows Service 2016
The default location of the configuration file is C:\ProgramData\MySQL\MySQL Server 8.0\my.ini, If there is any modification , Find out according to your actual situation .
CentOS7
The default path of the configuration file is /etc/my.cnf, If there is any modification , Find out according to your actual situation .
Modify the configuration file
Windows It can be used Ctrl + F To search ,Linux It can be used ‘/key’ To search , If not, you can refer to Baidu .
There are three things we need to find and modify :
find
table_definition_cache
, Let's change it to 400The official explanation is : The number of table definitions that can be stored in the definition cache ( come from .frm file ). If you use a large number of tables , You can create a large table definition cache to speed up the opening of tables . Different from ordinary table caching , The table definition cache takes up less space , And do not use file descriptors . The minimum and default values are 400.
find
table_open_cache
, Let's change it to 256MySQL Every time I open a watch , Will read in some data to table_open_cache In cache , When MySQL When no corresponding information is found in this cache , Will go to the disk to read .
The official explanation is : Number of open tables for all threads . Increasing this value will increase mysqld Number of file descriptors required . therefore , You have to make sure that at [mysqld safe] Partial variables “open files limit” Set the number of files allowed to be opened to at least 4096.
find
performance_schema
, It is amended as follows offIf you can't find this , Directly add
performance_schema = off
that will do .Used to monitor MySQL server Resource consumption in a lower level of running process 、 Resource waiting, etc , You can save money after closing , Will not make server Your behavior changes .
Save and exit after modification .
restart MySQL
Windows Service 2016
Start the console as an administrator , Input net stop mysql, And then you type in net start mysql.
After restart, it still takes 62M.
CentOS7
Console input service mysqld restart You can restart .
If not , You can try /etc/init.d/mysqld restart
This instruction .
Occupied after restart 92M, Than Windows That one is more .
Postscript
In this way, it can really reduce mysql Memory footprint , But I'm just trading performance for memory , If the throughput requirements are relatively high , It certainly cannot be modified directly like this , It has to be adjusted according to the actual request .
边栏推荐
- ESP8266通过arduino IED连接巴法云(TCP创客云)
- 1081 rational sum (20 points) points add up to total points
- 几个关于指针的声明【C语言】
- 共用体(union)详解【C语言】
- Esp8266 connects to bafayun (TCP maker cloud) through Arduino IED
- open-mmlab labelImg mmdetection
- Who says that PT online schema change does not lock the table, or deadlock
- List and set
- Variable parameter principle of C language function: VA_ start、va_ Arg and VA_ end
- 【ESP32学习-1】Arduino ESP32开发环境搭建
猜你喜欢
Fashion Gen: the general fashion dataset and challenge paper interpretation & dataset introduction
ToggleButton实现一个开关灯的效果
MySQL占用内存过大解决方案
锂电池基础知识
Custom view puzzle getcolor r.color The color obtained by colorprimary is incorrect
[esp32 learning-2] esp32 address mapping
基于Redis的分布式锁 以及 超详细的改进思路
sklearn之feature_extraction.text.CountVectorizer / TfidVectorizer
RT thread API reference manual
Symbolic representation of functions in deep learning papers
随机推荐
JS 函数提升和var变量的声明提升
Arduino JSON data information parsing
VSCode基础配置
Machine learning -- linear regression (sklearn)
Reno7 60W super flash charging architecture
Raspberry pie tap switch button to use
FreeRTOS 任务函数里面的死循环
Symbolic representation of functions in deep learning papers
JS regular expression basic knowledge learning
JS变量类型以及常用类型转换
程序员老鸟都会搞错的问题 C语言基础 指针和数组
冒泡排序【C语言】
Kaggle竞赛-Two Sigma Connect: Rental Listing Inquiries(XGBoost)
锂电池基础知识
Arduino get random number
arduino JSON数据信息解析
Reading notes of difficult career creation
Stm32f1+bc20+mqtt+freertos system is connected to Alibaba cloud to transmit temperature and humidity and control LED lights
imgcat使用心得
Vscode basic configuration