公司群里的消息要炸了,生产环境用不了了,领导要查一下原因,先在pc端运行项目,发现X服务器上的资源都是报错,初步确定是该服务器出现问题,上云平台查看,各项指标监控显示离线,重启一下服务器,等了5分钟还是不行,联系云平台,刚回复发现服务器能登上 了,(所以要耐心一点哦!)
服务器是能登上了,但是tomcat和ngnix还有PHP的都要重新启动:
找到各自所在的文件夹下,
/usr/sbin/php-fpm &(启动php-fpm)
nginx -c /etc/nginx/nginx.conf(启动nginx)
sh startup.sh (启动tomcat)
项目是能正常运行了,但是到底是怎么回事呢?
先查一下cpu情况(最后有查CPU方法)
mygod,昨天晚上CPU满了,平常都不会有这种情况的,
查一下CPU占用明细,只看到实时的昨天的要怎么看,我搜一下,再记录下来。
Windows系统如何查看业务进程占用CPU/内存资源情况
(以windows server 2012 为示例,windows 2008 类似)
1、 登录至主机,
如果主机还能通过远程桌面登录,则通过mstsc登录;
还有可能主机本身负载较高,无法继续建立远程连接,mstsc无法远程登录,则需要通过控制台的VNC页面登录方式进入主机
2、 右键点击开始菜单栏下方横条,选择任务管理器
或者开始—运行—输入taskmgr
均可以激活任务管理器
点击 CPU 或者 内存,会自动以升序/降序对占用资源情况的进程进行排序。
我们需要根据实际的程序使用情况来进行分析。
如您发现占用大量CPU的进程即不是系统进程(系统进程常见为svchost.exe 等,系统进程通常通过百度可以核实是否为系统进程,并且多数位于c:\windows\system32目录下,并且有完善的签名以及描述介绍),也不是您的业务进程(如iis、httpd、php、java等),而是出现一些命名很奇怪的进程,亦或看似系统进程实际却没有任何签名描述,并且进程位置也不是在c:\windows\system32目录下,那么很有可能您的主机中毒了,有异常的进程在消耗主机的资源,导致主机卡死无法正常工作
这时候需要您考虑检测服务器的安全情况,必要时考虑备份数据,重装系统
如您发现占用大量CPU的进程是您的业务进程(如iis、httpd、php、java等),则要进一步分析当前业务情况是否和负载匹配,如果当前业务量确实较大,则高负载是正常情况,需要考虑适当扩容;如果业务量不是很大,但是业务进程消耗资源却比较高,则需要您进一步结合业务报错日志来分析确认,可能是由于某些配置参数不当,导致程序出现异常,从而导致消耗资源很多
如您发现占用大量CPU的进程为系统进程(如scvhost.exe 等),则您可以发起工单联系我们,为您进一步核查处理。
Linux系统查看占用CPU/内存较高
(以ubuntu为例,其它系统类似)
通过ssh 或者 vnc 登录至主机。
主要通过执行 top 命令,来查看主机的负载情况。
在top命令执行完毕后我们可以再按 shift+t 使进程按照 CPU 使用率降序排列;
Shift+m 使进程按照mem使用率降序排列
来进一步分析占用资源较高的进程情况
常见的腾讯云组件进程:sap00x --此为安全组件进程,通常CPU和mem占用率较低
Barad_agent – 此为监控组件进程,通常CPU和mem占用率也较低
secu-tcs-agent – 此为安全组件进程,通常CPU和mem占用率较低
如果腾讯云组件占用CPU/MEM 资源异常,高于20%,则可以发起工单联系我们为您进一步定位处理