云服务器资源占用过高排查

2026-01-05 16:22:13 385

欢迎来到8455线路检测中心技术小课堂。


云服务器资源占用过高排查,问题定位与排查流程。


第一步:实时监控与趋势分析

A. 云控制台监控面板

检查项:
1. CPU使用率曲线 - 查看是否持续高位,是否有周期性波动
2. 内存使用率 - 关注可用内存和Swap使用情况
3. 磁盘I/O读写 - 高I/O可能导致服务卡顿
4. 带宽使用率 - 是否达到带宽上限
5. 磁盘空间使用率 - 是否接近100%


B. Windows服务器排查

1. 任务管理器实时监控

# 快速查看资源占用
任务管理器 → 性能选项卡 → 打开资源监视器

CPU: 查看占用率最高的进程

内存: 关注"工作集(内存)"和"提交大小"

磁盘: 查看活跃时间百分比和响应时间

 

2. 使用PowerShell深度分析

# 查看CPU占用前10的进程
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 | Format-Table Name, CPU, WorkingSet, Path -AutoSize

# 查看内存占用前10的进程
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10

# 按用户查看进程资源占用
Get-Process | Group-Object UserName | Select-Object Name, @{Name='TotalCPU';Expression={($_.Group | Measure-Object CPU -Sum).Sum}}, @{Name='TotalMemory(MB)';Expression={[math]::Round(($_.Group | Measure-Object WorkingSet -Sum).Sum/1MB,2)}}


3. 磁盘空间分析

# 查看各分区使用情况
wmic logicaldisk get size,freespace,caption

# 查找大文件(需要PowerShell 5.1+或安装Everything等工具)
# 或使用TreeSize Free等第三方工具


C. Linux服务器排查

1. 实时监控命令

# 综合监控 - 按1显示各CPU核心详情,按M按内存排序
top

# 增强版top,更直观
htop  # 如未安装:yum install htop / apt install htop

# 系统概览
uptime  # 查看负载平均值


2. CPU深度分析

# 查看CPU占用前10的进程
ps aux --sort=-%cpu | head -11

# 按CPU使用率排序,每2秒刷新
top -b -d 2 | head -20

# 查看CPU核数和使用率
lscpu
mpstat -P ALL 2  # 每2秒刷新各CPU核心使用率


3. 内存分析

# 查看内存使用情况
free -h
cat /proc/meminfo

# 查看内存占用前10的进程
ps aux --sort=-%mem | head -11

# 查看缓存和缓冲使用
echo "缓存/缓冲占用:" && free -h | grep Mem | awk '{print "已用:" $3, "缓存/缓冲:" $6}'

# 查找内存泄漏进程
valgrind --tool=memcheck --leak-check=full ./your_program


4. 磁盘空间分析

# 查看磁盘使用情况
df -hT

# 查找大文件/目录(从根目录开始,按大小排序)
du -sh /* 2>/dev/null | sort -hr | head -20

# 查找指定目录下大于100M的文件
find / -type f -size +100M -exec ls -lh {} \\; 2>/dev/null | head -20

# 实时监控磁盘I/O
iostat -x 2  # 每2秒刷新
iotop  # 类似top的I/O监控工具


5. 网络连接分析

# 查看连接数统计
ss -s

# 查看TCP连接状态分布
netstat -ant | awk '{print $6}' | sort | uniq -c | sort -rn

# 按进程查看连接数
netstat -tunp | awk '{print $7}' | cut -d/ -f1 | sort | uniq -c | sort -rn

 

第二步:异常进程处理


Windows处理方式


# 1. 查找可疑进程
tasklist /v | findstr "可疑关键词"

# 2. 终止进程(谨慎操作)
taskkill /PID <进程ID> /F
taskkill /IM "进程名.exe" /F

# 3. 禁止进程开机启动
msconfig → 启动(或任务管理器 → 启动选项卡)



Linux处理方式


# 1. 查找并终止进程
# 按名称查找
ps aux | grep -i "进程名"

# 终止进程
kill -9  # 强制终止
kill -15 # 优雅终止

# 2. 批量终止相关进程
pkill -f "进程名"
killall "进程名"

# 3. 禁止服务开机启动
systemctl disable <服务名>

 

8455线路检测中心官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,8455线路检测中心整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。

更多技术知识,8455线路检测中心期待与你一起探索。




提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:
XML 地图