当我通过 Web 控制台登录到安装在某些 VPS 上的 Ubuntu 16.04 时,我会定期看到以下消息:
'Out of memory: Killed process 1190 (mysqld)' on Ubuntu 16.04
但不清楚这个消息在日志中的什么位置?使用什么命令可以查看 MySQL 崩溃的次数和时间?
答案1
这很可能是“OOM 杀手”。当您没有剩余内存时,Linux 会杀死最大的用户,而在小型服务器上,这很可能是 MySQL(我的服务器上有同样的问题)。因此,MySQL 没有真正的问题,这更像是一般的配置问题。
使用free
它来检查您的内存使用情况,如果您的可用内存经常低于 20%,那么当您同时连接多个网络时,就会遇到这种情况。就我而言,我利用了提供商更改计划的优势,让我以与 512M 相同的价格获得 1GB 的内存。
答案2
可以使用命令查看此消息dmesg
。另一种方法是使用journalctl
命令。
您也可以检查/var/log/message
,但必须安装 rsyslog。
注意:你必须是 root
您可以使用名为 的最先进的日志导航器读取系统日志lnav
。
从 .deb 包安装
wget --quiet --output-document=- https://github.com/tstack/lnav/releases/download/v0.8.5/lnav_0.8.5_amd64.deb | dpkg --install -
然后以 root 身份登录并运行:
lnav /var/log
从您的消息来看,日志守护进程似乎未处于活动状态。要激活它,请执行以下操作:
sudo apt-get install rsyslog
sudo service rsyslog start
sudo service rsyslog status
现在您可以使用查看日志lnav /var/log