可能原因
CPU 或内存使用率过高,容易引起服务响应速度变慢、服务器登录不上等问题。而引起 CPU 或内存使用率过高可能由硬件、系统进程、业务进程或者木马病毒等因素所致。
排查思路
- 定位消耗 CPU 或内存的具体进程。
- 对 CPU 或内存占用率高的进程进行分析。
- 如果是异常进程,可能是病毒或木马导致,您可以自行终止进程,或者使用安全软件进行查杀。
- 如果是业务进程,则需要分析是否由于访问量变化引起,是否存在优化空间。
定位工具
任务管理器:Windows 自带的应用程序和进程管理工具,展示有关电脑性能和运行软件的信息,包括运行进程的名称,CPU 负载,内存使用,I/O 情况,已登录的用户和 Windows 服务的信息。
- 进程:系统上所有正在运行的进程的列表。
- 性能:有关系统性能的总体统计信息,例如总体 CPU 使用量和正在使用的内存量。
- 用户:当前系统上有会话的所有用户。
- 详细信息:进程选项卡的增强版,显示进程的 PID、状态、CPU、内存的使用情况等进程的详细信息。
- 服务:系统中所有的服务(包括并未运行的服务)。
故障处理
登录服务器
查看进程占用情况
- 在云服务器中,右键单击 “任务栏”,选择任务管理器。如下图所示:
- 在打开的 “任务管理器” 中,即可查看资源占用情况。如下图所示:
进程分析
根据任务管理器中的进程,分析与排查问题,以采取对应解决方案。
占用大量 CPU 或内存资源的进程为系统进程
如果您发现系统进程占用了大量 CPU 或内存资源,请排查以下内容:
- 检查进程名称。
部分病毒会使用与系统进程相似的名称,例如 svch0st.exe、explore.exe、iexplorer.exe 等。 - 检查进程对应的可执行文件的所在位置。
系统进程一般位于C:\Windows\System32
目录下,并且会有完善的签名和介绍。您可以在任务管理器中,右键单击待查看的进程,选择打开文件位置,即可查看具体可执行文件的位置。例如svchost.exe
。如下图所示:- 如果进程位置不在
C:\Windows\System32
目录下,则表示该云服务器可能中了病毒,请手动或者使用安全工具进行查杀。 - 如果进程位置在
C:\Windows\System32
目录下,请重启系统或关闭不需要且安全的系统进程。
- 如果进程位置不在
常见的系统进程如下:
- System Idle Process:系统空间进程,显示 CPU 空闲时间百分比
- system:内存管理进程
- explorer:桌面和文件管理
- iexplore:微软的浏览器
- csrss:微软客户端/服务端运行时子系统
- svchost:系统进程,用于执行 DLL
- Taskmgr:任务管理器
- Isass:本地安全权限服务
占用大量 CPU 或内存资源的进程为异常进程
如果您发现一些命名很奇怪的进程占用了大量 CPU 或内存资源,则可能为木马病毒进程,例如 xmr64.exe(挖矿病毒)等。建议您使用搜索引擎进行搜索,确认是否为木马病毒进程。
- 如果是木马病毒进程,请使用安全工具进行查杀,必要时考虑备份数据,重装系统。
- 如果不是木马病毒进程,请重启系统或关闭不需要且安全的进程。
占用大量 CPU 或内存资源的进程为业务进程
如果您发现业务进程占用了大量 CPU 或内存资源,例如 IIS、HTTPD、PHP、Java 等,建议进一步分析。
例如,判断当前业务量是否较大。
- 若业务量较大,建议升级服务器配置;若不升级服务器配置,可以考虑业务程序是否存在优化空间,请进行优化。
- 若业务量不大,则需要进一步结合业务报错日志来分析。例如,参数配置不当导致空耗资源。