CSoap 2017-08-31 05:12 采纳率: 0%
浏览 2916
已结题

有关于Linux服务器httpd进程造成CPU跑满问题

首先说明一下我的Linux服务器配置:JDK1.8+Tomcat8
使用了SSL证书来使用HTTPS协议,同时在同一个项目里也有一个微信小程序的部分接口,这些接口处于没有被调用的情况
部署的项目是典型的JavaWeb项目+SSH框架+MySQL数据库

事情的经过是这样的。
  首先我准备更新我部署在阿里云上面的项目,发现无论是我使用命令终端还是阿里云自带的远程终端都提示密码错误,检查服务器状态,发现服务器CPU在15天以前(可能更久)就一直处在100%的跑满状态。由于无法进入终端,标准的服务器排查程序无法进行,使用了重启服务器的操作,重启之后发现阿里云自带的远程终端可以上了,但是显示内核错误信息,如下图。
图片说明

到了这里服务器已经崩了,联系了阿里的工程师共同处理,挂载livecd进入服务器查看,服务器内的lib lib64目录缺失了,导致系统异常,从测试服务器中拷贝lib 和lib64目录到服务器内,启动正常。
到了这里,基本上看似圆满解决了,我想查找问题原因,进入日志查看也没有发现任何问题,倒是一直在报一个异常java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens,查阅资料后,我在server.xml配置中加入了这个属性maxHttpHeaderSize="8192",然后将更新后的项目部署上去,开启tomcat,然后关闭tomcat的时候,CPU监控突然飙升100%,即使已经确认tomcat已经关闭,使用top命令查看进程,发现了罪魁祸首:httpd进程。占了CPU100%,在强制性杀死httpd进程之后CPU才恢复正常。而且项目访问正常。
网上查了一下,这个进程是apache的,但是我是用的tomcat并没有使用apache。难道是因为同一个爸爸生的原因?
所以,我的问题是:1.造成这个问题的原因是什么?2.是否是我的操作出现了错误?3.如何避免这个问题。
万谢!

  • 写回答

5条回答

  • 乱臣贼子 2017-08-31 05:42
    关注

    个人猜测:
    1、应该是你的服务器上已经存在病毒。潜伏在你的Tomcat中的,当被激活时,疯狂进行http请求,且读取和删除你本地的系统文件。导致显示内核错误。
    2、这种情况应该不太可能是你的操作错误导致删除了lib 、lib64文件夹和CPU飙升到100%。
    3、查杀系统病毒、卸载Apache、重装tomcat(原来的安装目录清理干净)、重新部署网站、监控网络流量等待操作。

    终极大招:重装系统、开启防火墙,补丁打上,做好安全措施,再次部署服务器。

    以上是个人猜测,不知是否正确。 楼主如果发现有用,望采纳。

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名