我为MySQL运行一个Ubuntu服务器。
apt安装 innodb_buffer_pool_size :300M 每天早上,在大约。 上午6:40有些事情会引起记忆的显着变化:
https://dl.dropbox.com/u/12520837/mem.s.png
与此同时,似乎正在发生一个系统的“杀死”正在运行的进程,导致MySQL重新启动。
4月10日06:43:40 mysql-01内核:[1866472.511966] select 1(init),adj 0,size 41,kill
4月10日06:43:40 mysql-01内核:[1866472.511973]select385(dbus-daemon),adj 0,大小44,杀
Apr 10 06:43:40 mysql-01 kernel:[1866472.511975] select 389(rsyslogd),adj 0,size 124,kill
Apr 10 06:43:40 mysql-01 kernel:[1866472.511982] select 4578(snmpd),adj 0,size 160,kill
4月10日06:43:40 mysql-01内核:[1866472.514157] select 1(init),adj 0,size 41,kill
4月10日06:43:40 mysql-01内核:[1866472.514164]select385(dbus-daemon),adj 0,大小44,杀
Apr 10 06:43:40 mysql-01 kernel:[1866472.514166] select 389(rsyslogd),adj 0,size 124,kill
4月10日06:43:40 mysql-01内核:[1866472.514171]select4578(snmpd),adj 0,大小160,杀
4月10日06:43:44 mysql-01 / etc / mysql / debian-start [21807]:根据需要升级MySQL表。
4月10日06:43:45 mysql-01 / etc / mysql / debian-start [21810]:/ usr / bin / mysql_upgrade:'–basedir'选项总是被忽略
4月10日06:43:45 mysql-01 / etc / mysql / debian-start [21810]:查找'mysql'为:/ usr / bin / mysql
4月10日06:43:45 mysql-01 / etc / mysql / debian-start [21810]:寻找'mysqlcheck'为:/ usr / bin / mysqlcheck
4月10日06:43:45 mysql-01 / etc / mysql / debian-start [21810]:这个MySQL的安装已经升级到5.5.29,如果还需要运行mysql_upgrade
4月10日06:43:45 mysql-01 / etc / mysql / debian-start [21821]:检查不安全的root帐户。 4月10日06:43:45 mysql-01 / etc / mysql / debian-start [21826]:触发所有MyISAM表的myisam-recover
任何帮助诊断这将非常感谢!
内核检测到内存不足,可能是因为某个进程正在运行。
通常OOM杀手会尝试识别这个过程,并杀死它。 杀死mysql的原因是因为这可能是当前正在使用最多内存的进程,所以这是一个非常可能的运行野生进程的候选人。
但是,snmpd似乎也是罪魁祸首。 (它占用了大量的160MB的空间)snmpd是一个负责监听snmpstream量的deamon,看起来很奇怪。
由于每天都在同一时间发生,请检查您的日常cron工作 。 并检查你的snmpd日志文件。 同时检查在那个时候连接的连接。 (来自sshd)
所有这些日志文件应该显示在/ var / log / xxx中的某处
如果没有任何意外,请查看日志中提到的其他进程的日志文件。 (mysql和rsyslogd)
另外,从图表来看,平均只有66MB的空闲空间,而运行内存问题的方式也只有6.40,几乎有20%的时间less于几MB的空闲空间,而不超过100MB空闲空间。 (如果我正确地看到洋红色条是空闲的内存?)