我们已经安装了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
1条答案
按热度按时间hzbexzde1#
下面是对
VARIABLES
和(可疑)GLOBAL STATUS
; 没什么令人兴奋的:观察:
版本:10.1.26-mariadb
15 gb内存
正常运行时间=03:04:25;请在几个小时后重新运行“显示全局状态”。
你确定这是一场国际秀吗?
您没有在windows上运行。
运行64位版本
您似乎正在运行全部(或大部分)innodb。
更重要的问题是:
正常运行时间=03:04:25;请在几个小时后重新运行“显示全局状态”。
你确定这是一场国际秀吗?
key_buffer_size
过大(3g)。如果你什么都不需要myisam,把它设为50米。检查
infinidb_um_mem_limit
看看它对你的申请是否有意义。建议降低
innodb_buffer_pool_size
直到“窒息”被解决。细节和其他观察:
( (key_buffer_size - 1.2 * Key_blocks_used * 1024) / _ram ) = (3072M - 1.2 * 0 * 1024) / 15360M = 20.0%
--在密钥缓冲区中浪费的ram百分比。-减小密钥缓冲区大小。( Key_blocks_used * 1024 / key_buffer_size ) = 0 * 1024 / 3072M = 0
--使用的密钥缓冲区百分比。高水位线。-降低键缓冲区大小以避免不必要的内存使用。( innodb_buffer_pool_size / _ram ) = 6144M / 15360M = 40.0%
--innodb缓冲池使用的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\u infle=on是一个潜在的安全问题( expire_logs_days ) = 0
--自动清除binlog的时间(在这许多天之后)--太大(或零)=消耗磁盘空间;太小=需要快速响应网络/机器崩溃(如果log_bin=off,则不相关)( long_query_time ) = 5
--定义“慢”查询的截止时间(秒)。--建议2异常大:
columstore.xml文件
95%的内存??
我想这是不相关的,因为它被注解掉了??
请记住,除了columnstore之外,mysql正在消耗大量内存: