Mysql停止运行重启失败

问题描述:
Mysql异常退出,重启不成功,将部分Tomcat关闭后,正常启动Mysql,目前初步判断是内存不足导致Mysql运行失败。

查看Mysql报错日志

180518 11:19:40 mysqld_safe Number of processes running now: 0
180518 11:19:40 mysqld_safe mysqld restarted
2018-05-18 11:19:41 0 [Note] /usr/mysql/bin/mysqld (mysqld 5.6.33-log) starting as process 26610 ...
2018-05-18 11:19:42 26610 [Note] Plugin 'FEDERATED' is disabled.
2018-05-18 11:19:42 26610 [Note] InnoDB: Using atomics to ref count buffer pool pages
2018-05-18 11:19:42 26610 [Note] InnoDB: The InnoDB memory heap is disabled
2018-05-18 11:19:42 26610 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-05-18 11:19:42 26610 [Note] InnoDB: Memory barrier is not used
2018-05-18 11:19:42 26610 [Note] InnoDB: Compressed tables use zlib 1.2.3
2018-05-18 11:19:42 26610 [Note] InnoDB: Using CPU crc32 instructions
2018-05-18 11:19:42 26610 [Note] InnoDB: Initializing buffer pool, size = 256.0M
InnoDB: mmap(274726912 bytes) failed; errno 12
2018-05-18 11:19:42 26610 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2018-05-18 11:19:42 26610 [ERROR] Plugin 'InnoDB' init function returned error.
2018-05-18 11:19:42 26610 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2018-05-18 11:19:42 26610 [ERROR] Unknown/unsupported storage engine: InnoDB
2018-05-18 11:19:42 26610 [ERROR] Aborting

查看服务器当前内存使用情况

ps

ps命令可以实时的显示各个进程的内存使用情况。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序:

$ ps aux --sort -rss

Mysql停止运行重启失败_第1张图片

free

free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。

$ free -h

这里写图片描述

vmstat

vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。

$ vmstat -s

Mysql停止运行重启失败_第2张图片

发现使用内存最高的是两个JavaWeb项目:
使用命令查看该进程对应的哪些线程在占用cpu:
$ ps -mp 24335 -o THREAD,tid,time
并没有发现有线程站用大量内存的情况,排除程序内部问题。
Mysql停止运行重启失败_第3张图片

原因

原因是有两个新部署的Tomcat项目,但没有设置项目的初始化内存大小,例:-Xms -Xmx等相关参数。

你可能感兴趣的:(Mysql)