问题

在某次因为SRE升级域名问题,导致了Node服务器代码死循环了,产生的504(Gateway timeout)错误。

登录到机器上看,正在用pm2查问题的原因中,突然发现错误从504变成的502。

也就是Node服务彻底挂掉了,准备用PM2重启服务,发现PM2无法启动。

执行任何PM2命令都提示以下信息:

$ pm2 list
[PM2] Spawning PM2 daemon with pm2_home=/home/sankuai/.pm2

现象

后经查,发现机器的磁盘空间被占满。猜测因为是Node服务因为死循环而日志把机器的磁盘给打满了,导致了PM2的守护进程无法启动。

$ df -hl
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 24G 16M 100% /
tmpfs 937M 0 937M 0% /dev/shm
/dev/vdc1 99G 1.3G 93G 2% /opt

遂进入PM2的默认log日志目录,发现果然如此:

$ ll
total 20662092
-rw-rw-r-- 1 sankuai sankuai 20652240896 Jun 30 11:28 boot-error-0.log
-rw-rw-r-- 1 sankuai sankuai 505733120 Jun 30 11:28 boot-out-0.log

解决方案

删除日志文件:

$ rm boot-error-0.log
$ rm boot-out-0.log

再次查看磁盘空间:恢复正常

$ df -hl
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 3.7G 20G 16% /
tmpfs 937M 0 937M 0% /dev/shm
/dev/vdc1 99G 1.3G 93G 2% /opt

再次启动PM2,PM2恢复正常:

$ pm2 list
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────┬─────────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────┼─────────────┼──────────┤
│ boot │ 0 │ fork │ 4014 │ online │ 0 │ 14m │ 0% │ 1001.9 MB │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴─────────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app

PM2报错‘Spawning PM2 daemon with pm2_home...’的解决方案的更多相关文章

  1. Python3 报错'latin-1' codec can't encode character 解决方案

    Python3 报错'latin-1' codec can't encode character 解决方案 在更新数据库操作时,报错: UnicodeEncodeError: 'latin-1' co ...

  2. centos安装pm2报错

    报错信息: /usr/lib/node_modules/pm2/node_modules/chalk/source/index.js:103 ...styles, 这个问题其实很简单,就是npm和no ...

  3. linux服务器使用Jenkins+gradle+git打apk包,报错Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)

    linux服务器使用Jenkins+gradle+git打apk包,遇到的错误Gradle build daemon disappeared unexpectedly (it may have bee ...

  4. 解决 docker 报错: Error starting daemon: error initializing graphdriver: backing file system is unsupported for this graph driver

    CentOS 7.5 x64下 sudo yum install docker -y systemctl enable docker systemctl start docker 发现启动失败 jou ...

  5. 【亲测有效】Centos安装完成docker后启动docker报错docker: unrecognized service的两种解决方案

    今天在学习Docker的时候 使用yum install docker安装完后启动不了,报错如下: [root@Sakura ~]# service docker start docker: unre ...

  6. VS2017 启动调试报错:ID为{....}进程未启动解决方案

    今天遇到这么一个问题,打开VS启动调试,始终报错,如下图: 我重启VS,甚至重启电脑都不得行,那个进程号还在变化,就在网上查找资料,各式各样的解决方案,这里我记录我成功的方案. 打开项目文件地址,在解 ...

  7. Tomcat启动报错:[Failed to start component]的解决方案

    在MyEclipse中启动Tomcat,该Tomcat仅部署了一个报错项目,启动Tomcat Server的全部信息如下: usage: java org.apache.catalina.startu ...

  8. CocoaPods安装/更新报错While executing gem ... (OpenSSL::SSL::SSLError)解决方案

    今天给新买的MacBook Pro更新CocoaPods,结果上来就报错,出师不利. HeinocdeMacBook-Pro:~ Heinoc$ sudo gem update --system Pa ...

  9. 接口调用 读取图片报错 Access to the path '' is denied.解决方案

    调用接口 读取服务器上 图片 报错: Server was unable to process request. ---> Access to the path '图片路径' is denied ...

随机推荐

  1. pointer-events

    在做移动端的页面时,经常会遇到点击(touch)一个弹出的层,在上面触发点击(touch)事件,当弹出层关闭之后点击(touch)事件会穿透到下面的层,这时候如果下一层的某个元素也绑定了点击(touc ...

  2. 再谈Lasso回归 | elastic net | Ridge Regression

    前文:Lasso linear model实例 | Proliferation index | 评估单细胞的增殖指数 参考:LASSO回歸在生物醫學資料中的簡單實例 - 生信技能树 Linear le ...

  3. Windows 上安装 Scala

    在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了. 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法. 接下来,我们可以从 S ...

  4. Spring Batch 介绍

    在企业应用的关键环境中,通常有需要很多应用来来处理大量的应用.这商业操作包括了自动化,并且负责的处理程序来对大量数据进行高效的处理,通常这些程序不需要人工进行干预.这些事件包括有基于时间周期产生的操作 ...

  5. shiro中记住我功能

    Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下: 1.首先在登录页面选中Reme ...

  6. hbase安装部署

    hbase的安装 ①cp /mnt/hgfs/xiazai/hbase-1.2.5-bin.tar.gz /data tar -xzvf  hbase-1.2.5-bin.tar.gz ②环境 sud ...

  7. java判断时间为上午,中午,下午,晚上,凌晨

    public static void main(String[] args) { Date date = new Date(); SimpleDateFormat df = new SimpleDat ...

  8. 移动端rem适配 flex.js

    (function() { document.addEventListener('DOMContentLoaded', function () { var html = document.docume ...

  9. SpringBoot项目Shiro的实现(一)

    一.Shiro的简单介绍 Shiro是Apache下的一个开源项目,我们称之谓Apache Shiro,它是一个易用与Java项目的安全框架,提供了认证.授权.加密.会话管理,与Spring Secu ...

  10. MSMQ 事务性消息处理

    二.事务性消息处理 事务我想大家对这个词应该都不会陌生,在操作数据库的时候经常都会用到事务,确保操作成功,要么全部完成(成功) ,要么全部不完成(失败).在MSMQ中利用事务性处理,可以确保事务中的消 ...