MySQL事件调度器event_scheduler负责调用事件,它默认是关闭的。这个调度器不断地监视一个事件是否要调用,
要创建事件,必须打开调度器。

Tomcat 运行一段时间自动关闭 10C
logs 日志记录 Commons Daemon procrun stdout initialized
JDK配置的是对的,java自动更新也关闭了,求大神帮忙一下

MySQL运行一段时间后自动停止问题的排查,mysql自动停止

在进入主题前,一定要先吐槽下自己,前段时间购买了一台阿里云服务器,最开始打算只是自己个人用的,就买了一台配置很寒碜的服务器:

  • CPU: 1核
  • 内存: 1
    GB
  • 操作系统: CentOS 7.2 64位

这个配置亮出来估计好多人都已经知道答案了,下面就说下问题排查的步骤:

MySQL server PID file could not be found! [FAILED]
Starting MySQL.The server quit without updating PID file(/[FAILED]server/mysql/data/iZ2zeabsxnnfzh13g8yqxjZ.pid).

  2.
去看mysql的错误日志,但是不知道错误日志在哪里,先去找找mysql的my.cnf文件,这里需要注意下,我在mysql的安装目录下的确找到了一个my.cnf文件,但是改了很多配置项发现没有任何作用,google后才知道这个并不是当前使用的配置文件my.cnf,参考这篇文章找到当前使用的配置文件:

log-error=/alidata/log/mysql/error.log,

  3. 去错误日志看看:

2017-09-03 17:38:21 20390 [Note] InnoDB: The InnoDB memory heap is disabled
2017-09-03 17:38:21 20390 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-09-03 17:38:21 20390 [Note] InnoDB: Memory barrier is not used
2017-09-03 17:38:21 20390 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-09-03 17:38:21 20390 [Note] InnoDB: Using Linux native AIO
2017-09-03 17:38:21 20390 [Note] InnoDB: Using CPU crc32 instructions
2017-09-03 17:38:21 20390 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2017-09-03 17:38:21 20390 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2017-09-03 17:38:21 20390 [ERROR] Plugin ‘InnoDB’ init function returned error.
2017-09-03 17:38:21 20390 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
2017-09-03 17:38:21 20390 [ERROR] Unknown/unsupported storage engine: InnoDB
2017-09-03 17:38:21 20390 [ERROR] Aborting
2017-09-03 17:38:21 20390 [Note] Binlog end
2017-09-03 17:38:21 20390 [Note] Shutting down plugin ‘partition’
2017-09-03 17:38:21 20390 [Note] Shutting down plugin ‘PERFORMANCE_SCHEMA’

其中标为黄色的就比较重要了,百度Cannot allocate memory for the buffer
pool都说是无法给innodb分配足够的内存,大多数给出的解决的方案是:修改innodb_buffer_pool_size,但是我这个my.cnf里面没有,那就加一个被呗,顺便将这个字段设置成200M,重启mysql发现一样的结果,还是启动不了,去看日志还是一样的问题,还是太大咯?

  4.用free -m看下

              total        used        free      shared  buff/cache   available
Mem:            992         574         159           0         258         260
Swap:             0           0           0

只有185M的内存了,只能再改小点咯,改成64.

  5.service mysqld restart,终于

Starting MySQL. [ OK ]

买了一台废柴。。。

在进入主题前,一定要先吐槽下自己,前段时间购买了一台阿里云服务器,最开始…

levelDB 运行一段时间自动退
我开始使用levelDB 1.15版本来运行,
测试指令为 nohup ./db_bench –num=500000000
–db=/home/../db_test >5yi.txt $
程序执行一段时间,自动退出,而后我又使用版本
1.18,结果还是出现这样,也么退出,要么就阻塞,进程状态为S。测试只进行了四项,测试结果如下:

tomcat 运行一段时间会自动断开
报错信息
Sep 9 08:57:07 xxxxx kernel: Out of memory: Kill process 25038 score 77
or sacrifice child
Sep 9 08:57:07 xxxxx kernel: Killed process 25038 total-vm:13754188kB,
anon-rss:1284104kB, file-rss:0kB
Sep 9 08:57:08 xxxxx systemd-logind: Removed session 7942.
Sep 9 09:00:01 xxxxx systemd: Started Session 8063 of user root

SHOW VARIABLES LIKE ‘event_scheduler’;– 查看是否开启定时器

hup: 忽略输入
LevelDB: version 1.18
Date: Tue Jan 3 20:25:15 2017
CPU: 24 * Intel Xeon CPU E5-2620 0 @ 2.00GHz
CPUCache: 15360 KB
Keys: 16 bytes eachs

 

Values: 100 bytes each (50 bytes after compression)
Entries: 500000000
RawSize: 55313.1 MB (estimated)

mysql> show variables like ‘%event_scheduler%’;
+—————–+——-+
| Variable_name | Value |
+—————–+——-+
| event_scheduler | OFF |
+—————–+——-+
1 row in set (0.20 sec)

FileSize: 31471.3 MB (estimated)

fillseq : 4.367 micros/op; 25.3 MB/s
fillsync : 467.677 micros/op; 0.2 MB/s (500000 ops)
fillrandom : 31.201 micros/op; 3.5 MB/s

overwrite : 36.943 micros/op; 3.0 MB/s

各位大神,这是什么原因呢?我该如何解决呢?谢谢您的答复。

开启事件调度器

通过命令行

可通过如下任何一个命令行

SET GLOBAL event_scheduler = ``ON``;

SET @@``global``.event_scheduler = ``ON``;

SET GLOBAL event_scheduler = 1;

SET @@``global``.event_scheduler = 1;

 

提醒:虽然这里用set global event_scheduler =
on语句开启了事件,但是每次重启电脑。或重启mysql服务后,会发现,事件自动关闭(event_scheduler=OFF),所以想让事件一直保持开启,最好修改配置文件,让mysql服务启动的时候开启时间,只需要在my.ini或者my.cnf配置文件的[mysqld]部分加上event_scheduler=ON 即可,如下:

 

关闭事件调度器

通过命令行

可通过如下任何一个命令行

SET GLOBAL event_scheduler = ``OFF``;

SET @@``global``.event_scheduler = ``OFF``;

SET GLOBAL event_scheduler = 0;

SET @@``global``.event_scheduler = 0;

 

通过配置文件my.cnf或者my.ini

在[mysqld]下增加

1
event_scheduler = 0 #或者OFF,DISABLED 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图