svchost异常占用cpu排查

CPU占用异常排查过程

1、查看客户cpu一直占用在80%左右,上面没有跑程序,异常进程为svchost.exe。

2、Svchost.exe是一个系统的核心进程,一般可能是windows update服务下载或安装失败而导致更新服务反复重试导致。

3、先清空C:\WINDOWS\SoftwareDistribution 目录下所有的文件重启机器即可。建议先备份下这个文件下的所有文件,如有占用可先停下禁用windows update服务后再尝试。

4、如果清空重启还是这,那继续查看系统异常进程。

5、在任务管理器中勾选显示PID,查看svchost的pid。

6、右击svchost.exe,点击属性。在常规中查看svchost的位置是否为C:\windows\system32,以及详细信息的原始文件名是否是svchost。如不是就要注意下。

7、在cmd下输入tasklist /svc | findstr "svchost",查看显示的svchost.exe,如后服务有“暂缺”,结合第6步的判断,很可能是中毒了。

8、一般结束此svchost.exe后还会重新生成另外一个进程,所以建议干掉它之前安装下360杀毒这类的,干掉后防止重启启动,360杀毒会自动拦截隔离。

9、然后用360杀毒再进行扫描下,扫描完成后重启下测试,查看CPU是否恢复正常。

时间: 2024-10-03 22:39:14

svchost异常占用cpu排查的相关文章

Openvz下vps的Rsyslogd进程异常占用CPU问题

最近发现几个vps的Rsyslogd进程非常怪异占用CPU高的时候能达到200% ,几个相同之处都是ubuntu的系统 google半天后发现禁用imklog就可以解决了. sed -i  's/^\$ModLoad imklog/#\$ModLoad imklog/g' /etc/rsyslog.conf 后面将修改所有系统模板彻底解决问题

svchost占用cpu

发现有一个svchost始终占用cpu. 查看任务管理器PID列,在tasklist /svc中查找相关列,对应若干服务. 一个一个检查这些服务,确认是windows update服务引起,停止windows update服务. DISM.exe /Online /Cleanup-image /Scanhealth

[转]生产环境中程序占用cpu过高的程序的排查办法

一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环.以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题. 根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障. 通过ps aux | grep PID命令,可以进一步确定是tomcat进程出现了问题.但是,怎么定位到具体线程或者代码呢? 首先显示线程列表: ps -mp pid -o THREAD,tid,time 找到了耗时最高的线程28802,占用CPU时间快两个小时了!

在LIUNX服务器上找出web项目中占用cpu资源最多的线程的排查方法

在这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结:linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资源时,按照以下步骤进行查找: 第一步:登陆到web服务所在的liunx服务器,利用top命令获取java的cpu使用率 第二步: 如上图所示,java的进程id为'3260',接下来用top命令单独对这个进程中的所有线程作监视:top -p 3260 -H 第三步: 如上图所示,linux下,所有的

SQL 数据库高CPU占用语句排查

前述 最近一个项目CPU占用非常高,在IIS内设置CPU限制后系统频繁掉线,通过任务管理器发现SQLSever数据库占用CPU达到40%--70%,对于数据库本人也就处在增删查改几个操作水平层面,这次出了问题就硬着头皮上了,好在经过各种百度问题最终解决了,记性不好用的也不多,为防止忘掉就把主要排查方法记录下来. 查找耗时语句 SELECT TOP 10 total_worker_time/execution_count AS avg_cpu_cost, plan_handle, executio

Java线上应用故障之CPU占用高排查与定位

最近线上频繁报警CPU空闲不足,故紧急排查后分享给大家 1.使用top命令,获取占用CPU最高的进程号 2.查看线程号对应的进程信息 命令:ps -ef|grep 22630 3.查看进程对应的线程信息 命令:ps -mp22630-oTHREAD,tid,time | sort -nr| head -15 4.选取第一个线程号,转换成16进制 命令:printf "%x" 22657 结果:5881 5.使用jstack查询出具体的线程状态 命令:jstack 22630|grep

生产环境下JAVA进程高CPU占用故障排查

问题描述:生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高. 问题分析:1,程序属于CPU密集型,和开发沟通过,排除此类情况.2,程序代码有问题,出现死循环,可能性极大. 问题解决:1,开发那边无法排查代码某个模块有问题,从日志上也无法分析得出.2,记得原来通过strace跟踪的方法解决了一台PHP服务器CPU占用高的问题,但是通过这种方法无效,经过google搜索,发现可以通过下面的方法进行解决,那就尝试下

记一次java程序占用cpu超高排查

1.首先通过top命令查看占用cpu过高的pid #top top - 18:07:25 up 48 days,  1:07,  3 users,  load average: 11.94, 11.90, 9.46Tasks: 271 total,   1 running, 270 sleeping,   0 stopped,   0 zombie%Cpu(s): 74.2 us,  0.8 sy,  0.0 ni, 24.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.

Linux排查Java程序占用CPU很高的解决办法

Java的工具集相当强大,学习成本也很低,处理线上问题时,jstack这个工具就比微软的windbg,好学好用很多,3步找出占用CPU很高的源所在.而windbg反人类的各种命令,实在不敢恭维. 故意设置了一个CPU占用很高的场景: 排查问题,步骤: 1. ps -mp [替换为进程ID PID] -o THREAD,tid,time 发现线程6322.6323占用CPU很高,时间也很长. 2. printf “%x” [线程ID TID] 把TID转换为16进制. 3. jstack [进程I