V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
black11black
V2EX  ›  问与答

mysql 服务总是莫名自动关闭,怪病啊,各位看看是不是因为内存爆了的原因?

  •  
  •   black11black · 2020-02-03 15:36:59 +08:00 · 2074 次点击
    这是一个创建于 1756 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,virmach 小鸡上挂了两个网站,最开始大概是一个月前,mysql 服务突然掉了,网站无法访问,当时也没查出个所以然,重启 mysql 就好了

    最近两天又频繁挂,这次看了一下退出信息, 显示:

    $ service mysql status
    mysqld.service - LSB: start and stop MySQL
       Loaded: loaded (/etc/init.d/mysqld; bad; vendor preset: enabled)
       Active: active (exited) since Sun 2020-02-02 07:52:36 GMT; 22h ago
         Docs: man:systemd-sysv-generator(8)
      Process: 5365 ExecStop=/etc/init.d/mysqld stop (code=exited, status=0/SUCCESS)
      Process: 5390 ExecStart=/etc/init.d/mysqld start (code=exited, status=0/SUCCESS)
        Tasks: 0
       Memory: 0B
          CPU: 0
    54:04 MilkyIntelligent-VM mysqld[5390]: /www/server/mysql/bin/mysqld_safe: line 183:  6031 Killed                      nohup /www/server/mysql/bin/mysqld --basedir=/www/server/mysql --datadir=/www/server/d
    Feb 03 03:54:20 MilkyIntelligent-VM mysqld[5390]: /www/server/mysql/bin/mysqld_safe: line 183: 12601 Killed                      nohup /www/server/mysql/bin/mysqld --basedir=/www/server/mysql --datadir=/www/server/d
    Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
    

    说实话我没见过这种 active(exited)状态的服务。

    df -ah 查看储存空间还够,htop 查看内存也还够 刚才想到一个可能的问题是是不是内存爆了导致系统随机砍进程。。但是说实话以前看内存占用都是够用的

    我这个机器是 762M 内存,挂了一个宝塔面板,里面有两个 php 网站,几个反向代理( php+mysql+nginx+phpmysqladmin,以前菜鸡的时候只会用宝塔,后来迁移为了方便网站没换环境),另外机器上还跑了两三个 flask 小服务,还有两三个自己写的 python 运维程序。

    理论上。。按照我粗浅的经验 700M 内存应该是够的吧。。。htop 显示也足够,占用才 400M 左右 为啥 mysql 会迷之自动关闭呢?

    5 条回复    2020-02-04 12:19:16 +08:00
    shrug
        1
    shrug  
       2020-02-03 16:37:08 +08:00
    把 Mysql 的错误日志贴出来,光看这些无法定位的
    NSAgold
        2
    NSAgold  
       2020-02-03 20:45:22 +08:00 via Android
    如果是内存不够的话加点 swap 试试?
    Foxkeh
        3
    Foxkeh  
       2020-02-04 00:19:57 +08:00 via iPhone
    内存满了的话系统会自动杀进程,看系统日志会有记录
    msg7086
        4
    msg7086  
       2020-02-04 03:32:52 +08:00 via Android
    看看内核日志,看看有没有 oom 记录。这种机器我都盲猜爆内存。
    FaceBug
        5
    FaceBug  
       2020-02-04 12:19:16 +08:00
    1、内存确实不太够;
    2、去 my.cnf ,有两行关于 mysqld_safe 的,注释之
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:40 · PVG 08:40 · LAX 16:40 · JFK 19:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.