RAM内存使用率高

Jos*_*tin 0 mysql mysql-5.7

我目前正在测试一个新的 MySQL 服务器,但我是新手,所以我不确定我的参数,因为 RAM 总是超过 90% 的使用率。

该服务器将为 100 人的 CRM 环境设置。

服务器规格:

  • MySQL 版本 5.7.28-0ubuntu0.18.04.4-log
  • 16GB 内存

对 mysqld.conf 的更改:

key_buffer_size     = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size   = 8

# My changes

innodb_buffer_pool_instances = 12
innodb_buffer_pool_size     = 12G
innodb_flush_method         = O_DIRECT
innodb_log_file_size        = 1G
innodb_page_cleaners        = 4
innodb_purge_threads        = 4
max_connections             = 151
open_files_limit            = 112274
table_open_cache            = 56137

log_output                  = FILE
default-storage-engine      = INNODB
character-set-server        = utf8
innodb_lock_wait_timeout    = 300
read_buffer_size            = 64K


# Recommendations [mysqltuner]

long_query_time         = 10
query_cache_size        = 0
query_cache_type        = 0
query_cache_limit       = 2M
join_buffer_size        = 512K
table_definition_cache  = 28468
log_bin                 = /var/log/mysql/mysql-bin.log
Run Code Online (Sandbox Code Playgroud)

mysqltuner 在 InnoDB Metrics 中说的是:

-------- InnoDB Metrics ----------------------------------------------------------------------------
[--] InnoDB is enabled.
[--] InnoDB Thread Concurrency: 0
[OK] InnoDB File per table is activated
[!!] InnoDB buffer pool / data size: 12.0G/22.2G
[!!] Ratio InnoDB log file size / InnoDB Buffer pool size (66.6666666666667 %): 4.0G * 2/12.0G should be equal to 25%
[!!] InnoDB buffer pool instances: 8
[--] Number of InnoDB Buffer Pool Chunk : 96 for 8 Buffer Pool Instance(s)
[OK] Innodb_buffer_pool_size aligned with Innodb_buffer_pool_chunk_size & Innodb_buffer_pool_instances
[OK] InnoDB Read buffer efficiency: 99.99% (5004553901 hits/ 5004951598 total)
[OK] InnoDB Write log efficiency: 96.96% (8250637 hits/ 8509152 total)
[OK] InnoDB log waits: 0.00% (0 waits / 258515 writes)
Run Code Online (Sandbox Code Playgroud)

你能帮我解决这个问题吗?我应该更改 conf 文件中的其他内容吗?我应该升级硬件吗?

编辑:

全球现状:https : //pastebin.com/1kbHTGkL

全局变量:https : //pastebin.com/KUrBh9wr

完整的处理程序:https : //pastebin.com/39GZdeWB

MySQLTuner 报告:https ://pastebin.com/Khdgf7GP

编辑2:

我正在使用 SSD 存储

ulimit: https://pastebin.com/aUAtjnUN

iostat:https : //pastebin.com/kjr9GaLB

Han*_*non 5

通常,您希望尽可能多地使用 RAM(为 O/S 等留出足够的空间),因为这意味着数据在内存中而不是在磁盘上

对于服务 100 人的 CRM 系统,您可能会发现服务器专用的 16GB RAM 是不够的。例如,我的手机有 8GB 的​​ RAM,它只是一部手机

数据的内存访问时间比访问磁盘上的数据快几个数量级。