最近、MySQL エラー ログに「メモリ不足」エラーが見つかりましたが、ホスト マシンにはまだ十分な物理メモリとスワップ スペースがありますfree -k
。
total used free shared buffers cached
Mem: 4087156 3842396 244760 0 615840 2031416
-/+ buffers/cache: 1195140 2892016
[エラー] メモリ不足です。mysqld またはその他のプロセスが利用可能なすべてのメモリを使用しているかどうかを確認します。そうでない場合は、'ulimit' を使用して mysqld がより多くのメモリを使用できるようにするか、スワップ スペースを追加する必要があります。
メモリ リークを引き起こしている MySQL のバグがあるのではないかと心配しています。
MySQL のメモリ使用量は動的に増加しますか? はいの場合、MySQL がより多くのメモリを割り当てる原因となる要因またはイベントは何ですか? MySQL に十分なメモリがない場合に考えられる影響と、それを回避する方法は?
マシン構成は次のとおりです: OS Linux 2.6.18-128.el5PAE i386
MySQL サーバーのバージョン: 5.0.50-enterprise-gpl-log MySQL Enterprise Server (GPL)
/etc/my.cnf:
[mysqld]
port = 3306
socket = /tmp/mysql.sock
datadir = /opt/mysql
skip-locking
key_buffer = 1G
max_allowed_packet = 2M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache = 32
query_cache_size= 32M
thread_concurrency = 16
max_heap_table_size = 1G
auto_increment_increment = 10
auto_increment_offset = 1
server-id = 20
log-warnings
log-slow-queries
skip-innodb
skip-slave-start
core-file