Linux 阿里云:记录一次低配 ecs 服务器在 cpu、内存打满情况下无法远程连接的解决过程

背景

自我学习ing..然后在 1c2g 的云服务器上起了 5 个 mysql 集群节点,然后输入命令就开始卡了,开始怀疑是不是系统资源爆掉了

来到阿里云后台

  • 因为服务器已经连不上了,没办法通过 top 等命令查看系统资源情况,只能来到控制台查看了
  • 然后就看到 CPU、内存都被打爆了...系统负载节节攀升(下图是解决之后的截图了)

尝试解决一

  • 重启机器,尝试本地重新 ssh 连接:超时失败
  • 通过阿里云 workbench 远程连接:超时失败

 

尝试解决二

  • 通过阿里云提供的发送远程命令(云助手)尝试把 docker 关掉:仍然失败
  • 即使将远程命令设置为启动执行,重启机器:仍然失败
  • 从下图二可以看出,仍然是连接机器超时导致的

尝试解决三

  • 无法解决之后,只能连接人工客服,告知我可以通过连接 VNC 来尝试解决,因为 VNC 的方式是不受远程连接的影响的
  • 我自己连接 VNC 仍然没连上,最后是通过客服小哥哥/小姐姐帮我搞定了

罪魁祸首

  • 机器本身配置最低,然后还起了 5 个数据库集群节点,直接把机器打挂了
  • 根因一:docker 服务使用了开机自启动 sudo systemctl enable docker ,导致每次重启机器的时候,docker 服务仍然启动
  • 根因二:起的 5 个数据库容器都添加了随 docker 服务启动而自启动... --restart=always ,所以 docker 起来后,五个容器也自动起来了,仍然打挂了机器....

最后的解决方法

客服小哥哥/小姐姐帮我杀掉了 docker 服务,然后禁止了开机自启动

仍然有个问题

如果此时我直接 start docker 仍然没有解决根因二带来的问题

最终解决方案

需要手动到每个容器配置文件中去掉 restart 参数值

具体操作可参考:https://www.cnblogs.com/poloyy/p/13985567.html

忠实建议

低配机器就不要将服务和容器设置为自启动了

原文地址:https://www.cnblogs.com/poloyy/p/15487148.html