由於測試環境JED申請比較繁瑣,所以Eone提供了單機版Mysql供使用者使用,近期Eone搭建Mysql5的時候發現莫名被kill了,容器規格是4C8G,磁碟30G
這不科學,之前都是可以的,映象沒變,設定沒變,咋就不行了呢,一定不是我的問題,是機器的問題
通過多次搭建mysql5進行取樣,發現並不是穩定復現,有一些容器是可以正常啟動提供服務的,找到被mysql服務被kill的容器紀錄檔,發現是MySQL初始化被kill了,
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/export/data/mysql/data --user=admin --initialize-insecure
mysql組態檔:
[client]
socket=/tmp/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/export/data/mysql/data
port=3306
server_id=1
socket=/tmp/mysql.sock
log-error=/tmp/mysqld.err
pid-file=/tmp/mysqld.pid
skip-host-cache
skip-name-resolve
skip-grant-tables
手動執行了下初始化的命令,發現直接被kill了
通過dmesg
命令發現,貌似oom了
納尼?怎麼用了這麼多記憶體?容器都沒這麼大記憶體誒
通過排查,發現MySQL有一個8G的匿名記憶體,這是哪來的???
將容器規格調整為32G記憶體,再次嘗試,發現成功啟動了,但是記憶體佔用貌似不太正常
這不科學,正常的容器記憶體使用情況是這樣的