服务器报错 Out of memory: Kill process ,现在导致 ssh 显示超时无法链接,怎么办?

1,现在只能登录 vps 的 console 才能登录服务器,ssh,navicat,都显示超时,且无法登录。
2,用的环境是 lnmp,目前网站运行正常。
3,错误提示是:
vOYEoJQ.png

4,输入 free,显示:

ex6JRhW.png
5,google 了好多答案,都尝试了,无效,目前网站浏览人数太少,没有升级内存( 512mb )的打算,请问我应该如何修改配置才能正常使用 ssh,navicat(目前都显示超时,无法登录) ?

6,https://www.digitalocean.com/...
http://blog.csdn.net/ausboyue...

参考了上面 2 个教程进行了 swap 配置,现在显示如下:
mr27tH7.png

7,现在vps,console输入:wq无法退出了
图片描述

一直在这个界面停留,恢复不到命令行了

8:htop截图

图片描述

9:上一次我重启了sshd,就可以正常登录了,这次发现重启sshd也无法正常登录ssh了。怎么办?

阅读 6.2k
8 个回答

试试重启 sshd服务 /etc/init.d/ssh restart

大哥,你的内存到哪里去了?
173+47和488也差太多了。
Ubuntu

apt install htop
htop

CentOs

yum install htop
htop

然后把截图给上

这个我觉得是你某个代码陷入了循环中或者你在某些特定的情况下你的代码陷入了循环,导致out of memory。你最好排查下代码,然后重新启动。

1:检查代码是否有死循环等情况;
2:调整mysql配置,系统一般默认是400M内存吧,可以根据情况搞小一点

performance_schema_max_table_instances=200
table_definition_cache=200
table_open_cache=128

首先,肯定是因为内存不足导致的进程被杀,必须查看是哪个进程占用的内存比较大,和重启sshd没有多大关系。

  • 查看可疑进程

  • 查看内存最大的一些进程

  • 查看是否有可疑的账户

  • 查看是否有可疑自启动项

可能的话重启一下phpfpm和nginx,排查一下是不是程序占用内存过大导致的问题

  1. 从你htop截图看你的服务器上启动了3个mysqld的进程?每个进程占用了5.9%的内存。

  2. 检查一下3个mysqld进程是否是必要的,不需要的进程停掉,如果3个进程都是需要的调整一下配置,限制每个mysqld进程使用的内存总量。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题