gpt4 book ai didi

mysql - MariaDB/Columnstore 引擎内存阻塞

转载 作者:行者123 更新时间:2023-11-30 21:38:04 27 4
gpt4 key购买 nike

我们已经安装了 mariadb 和 columnstore 引擎,从过去几周开始,我们面临内存阻塞问题,内存阻塞和我们所有的 DML/DDL 操作都卡住了,在重新启动服务后它得到修复。

below are the stats :

total used free shared buff/cache available
Mem: 15 2 7 0 5 12
Swap: 4 0 4


[mysqld]
port = 3306
socket = /opt/evolv/mariadb/columnstore/mysql/lib/mysql/mysql.sock
datadir = /opt/evolv/mariadb/columnstore/mysql/db
skip-external-locking
key_buffer_size = 512M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 64M
read_buffer_size = 64M
read_rnd_buffer_size = 512M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 0
# Try number of CPU's*2 for thread_concurrency
#thread_concurrency = 8
thread_stack = 512K
lower_case_table_names=1
group_concat_max_len=512
infinidb_use_import_for_batchinsert=1
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 8192M
#innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 100M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

最佳答案

这是对VARIABLES 和(可疑的)GLOBAL STATUS 的分析;没有什么令人兴奋的:

观察:

  • 版本:10.1.26-MariaDB
  • 15 GB 内存
  • 正常运行时间 = 03:04:25;请在几个小时后重新运行 SHOW GLOBAL STATUS。
  • 您确定这是 SHOW GLOBAL STATUS 吗?
  • 您未在 Windows 上运行。
  • 运行 64 位版本
  • 您似乎完全(或大部分)在运行 InnoDB。

更重要的问题:

正常运行时间 = 03:04:25;请在数小时后重新运行 SHOW GLOBAL STATUS。

您确定这是 SHOW GLOBAL STATUS 吗?

key_buffer_size 过大 (3G)。如果您不需要任何 MyISAM,请将其设置为 50M。

检查 infinidb_um_mem_limit 以查看它是否对您的应用有意义。

建议将 innodb_buffer_pool_size 降低到 2G,直到“窒息”被弄清楚。

细节和其他观察结果:( (key_buffer_size - 1.2 * Key_blocks_used * 1024)/_ram ) = (3072M - 1.2 * 0 * 1024)/15360M = 20.0% -- key_buffer 中浪费的 RAM 百分比。-- 减小 key_buffer_size。

( Key_blocks_used * 1024/key_buffer_size ) = 0 * 1024/3072M = 0 -- 使用的 key_buffer 百分比。高水位线。-- 降低 key_buffer_size 以避免不必要的内存使用。

( innodb_buffer_pool_size/_ram ) = 6144M/15360M = 40.0% -- 用于 InnoDB buffer_pool 的 RAM 百分比

( Innodb_buffer_pool_pages_free * 16384/innodb_buffer_pool_size ) = 392,768 * 16384/6144M = 99.9% -- 缓冲池空闲

( innodb_print_all_deadlocks ) = innodb_print_all_deadlocks = OFF -- 是否记录所有死锁。-- 如果您为死锁所困扰,请打开它。注意:如果有很多死锁,这可能会向磁盘写入大量内容。

(local_infile) = local_infile = ON-- local_infile = ON 是一个潜在的安全问题

( expire_logs_days ) = 0 -- 多长时间自动清除 binlog(这么多天后)-- 太大(或零)= 占用磁盘空间;太小 = 需要快速响应网络/机器崩溃。(如果 log_bin = OFF 则不相关)

( long_query_time ) = 5 -- 定义“慢”查询的截止时间(秒)。-- 建议 2

异常大:

read_buffer_size = 32MB
Acl_database_grants = 780
Acl_proxy_users = 4
Acl_users = 281

Columstore.xml

95% 的内存??

    <MemoryCheckPercent>95</MemoryCheckPercent> <!-- Max real memory to limit growth of buffers to -->
<DataFileLog>OFF</DataFileLog>

我想这不相关,因为它被注释掉了??

    <!-- enable if you want to limit how much memory may be used for hdfs read/write memory buffers.
<hdfsRdwrBufferMaxSize>8G</hdfsRdwrBufferMaxSize>
-->

请记住,除了 Columnstore 之外,MySQL 正在消耗大量内存:

    <TotalUmMemory>25%</TotalUmMemory>
<TotalPmUmMemory>10%</TotalPmUmMemory>

关于mysql - MariaDB/Columnstore 引擎内存阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52994610/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com