Recently I've been getting error 1041 at times, which gives the message
to update the ulimit or add swap space.
This is a dedicated MySQL server, so I have no ulimit set for MySQL.
According to /proc/meminfo I have over 1GB of swap free.
Mem: 2118533120 2067628032 50905088 0 19677184 1659768832
Swap: 1998733312 686882816 1311850496
MemTotal: 2068880 kB
MemFree: 49712 kB
MemShared: 0 kB
Buffers: 19216 kB
Cached: 1320684 kB
SwapCached: 300184 kB
Active: 943996 kB
Inactive: 1008424 kB
HighTotal: 1179484 kB
HighFree: 2044 kB
LowTotal: 889396 kB
LowFree: 47668 kB
SwapTotal: 1951888 kB
SwapFree: 1281104 kB
The mysqld section of my.cnf contains the following:
log-bin
server-id = 106
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-locking
set-variable = key_buffer=512M
set-variable = max_allowed_packet=1G
set-variable = table_cache=3072
set-variable = sort_buffer=2M
set-variable = record_buffer=2M
set-variable = thread_cache=8
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=64M
set-variable = thread_stack=128K
set-variable = open_files_limit=8192
set-variable = tmp_table_size=50M
max_tmp_tables = 100
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_log_arch_dir = /var/lib/mysql/
set-variable = innodb_buffer_pool_size=384M
set-variable = innodb_additional_mem_pool_size=20M
set-variable = innodb_log_file_size=5M
set-variable = innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
set-variable = innodb_lock_wait_timeout=50
long_query_time=30
query_cache_limit=1M
query_cache_size=64M
query_cache_type=1
max_connections=200
Does anyone have any suggestions as to why I'm getting out of memory
errors? Do I have some of the settings wrong?
If it matters, I have about 50GB worth of data, split between InnoDB and
MyISAM tables. I last got the error updating records in one of the
MyISAM tables which was about 1MB in size.