在数字化时代,服务器作为企业核心业务的承载平台,其性能直接关系到业务的稳定运行与用户体验,而CPU和内存作为服务器的两大核心硬件组件,其性能状态与资源利用情况是衡量服务器运行效率的关键指标,本文将详细介绍如何从多个维度查看服务器的CPU和内存状态,帮助运维人员或系统管理员及时发现潜在问题,优化资源配置。

CPU性能查看方法
CPU是服务器的“大脑”,负责处理所有计算指令,监控CPU性能需关注使用率、负载、核心数及进程分布等关键信息。
操作系统内置工具
-
Linux系统:
- top命令:实时显示进程的CPU、内存使用情况,按“1”可查看各核心负载,按“P”按CPU使用率排序,重点关注“%us”(用户进程占用)、“%sy”(系统进程占用)及“%wa”(I/O等待)三项指标,若“%wa”值持续过高,可能存在磁盘瓶颈。
- htop命令:top的增强版,支持彩色显示、进程树视图等,更直观地展示资源争用情况。
- mpstat命令:通过
mpstat P ALL 1查看每个核心的CPU使用率,定位高负载核心。 - /proc/cpuinfo文件:
cat /proc/cpuinfo可查看CPU型号、核心数、线程数等硬件信息,结合lscpu命令以更友好的格式呈现。
-
Windows系统:
- 任务管理器:按
Ctrl+Shift+Esc打开,切换到“性能”选项卡,可实时查看CPU使用率、核心数、频率及进程级占用。 - 性能监视器(Performance Monitor):通过
perfmon命令打开,添加“Processor”计数器,可记录历史CPU使用率曲线,分析负载趋势。 - Resource Monitor:在任务管理器中点击“打开资源监视器”,可查看CPU的线程、中断等详细分布。
- 任务管理器:按
专业监控工具
- Zabbix:开源监控工具,通过自定义模板收集CPU使用率、负载平均值等指标,支持阈值告警与图表可视化。
- Prometheus + Grafana:Prometheus采集服务器指标数据,Grafana展示自定义仪表盘,例如通过
node_cpu_seconds_total计算CPU使用率,并设置多维度标签(如核心、进程)。 - Nagios:经典监控软件,通过NRPE插件远程监控CPU状态,可配置当使用率超过阈值时触发邮件或短信告警。
云服务器平台监控
若使用阿里云、腾讯云等云服务器,可通过控制台的“监控与告警”面板查看CPU使用率、负载均衡等指标,并设置弹性伸缩策略,实现自动化扩缩容。

内存性能查看方法
内存是服务器处理数据的临时存储区域,内存不足会导致系统频繁换页,显著降低性能,监控内存需关注使用率、空闲空间、缓存及swap分区使用情况。
操作系统内置工具
-
Linux系统:
- free命令:
free h以人类可读格式显示内存总量、已用、空闲、缓冲/缓存及swap分区使用情况,需重点关注“available”列(可用内存),而非单纯的“free”,因为Linux会主动利用空闲内存作为缓存,释放时可直接回收。 - vmstat命令:
vmstat 1每秒刷新一次,查看si(swap入)、so(swap出)值,若si/so持续大于0,表明内存不足,正在频繁使用swap分区,需警惕性能下降。 - /proc/meminfo文件:
cat /proc/meminfo可查看详细的内存参数,如MemTotal(总内存)、Slab(内核缓存)等。 - ps命令:
ps eo pid,ppid,cmd,%mem,%cpu sort=%mem按内存使用率排序进程,定位内存占用异常的程序。
- free命令:
-
Windows系统:
- 任务管理器:在“性能”选项卡的“内存”区域,可查看已用、可用、缓存及提交值(虚拟内存使用情况),若“已用”接近“总数”,且“可用”空间不足,需释放内存或增加容量。
- RAMMap工具:微软官方出品的内存分析工具,可查看物理内存、paged pool(分页池)等使用分布,帮助定位内存泄漏问题。
- Performance Monitor:添加“Memory”计数器,如“Available MBytes”(可用物理内存)、“Pages/sec”(每秒换页数),监控内存压力。
专业监控工具
- Zabbix:通过“vm.memory[pavailable]”等监控项获取可用内存,设置阈值告警,例如当可用内存低于10%时触发通知。
- Prometheus:使用
node_memory_MemAvailable_bytes等指标计算内存使用率,结合Grafana仪表盘展示内存趋势及进程级占用。 - Glances:跨平台监控工具,通过
glances命令可实时显示内存条形图、swap使用情况及进程内存占用,支持预警模式。
云服务器平台监控
云平台通常提供内存使用率、swap使用量等监控指标,并支持设置告警规则,例如阿里云的云监控可创建“内存使用率”监控项,当连续5分钟超过80%时触发告警。

性能分析与优化建议
查看CPU和内存数据后,需结合业务场景进行性能分析:
- CPU瓶颈:若使用率持续高于90%,且“%wa”值低,可能是计算密集型任务导致,可通过优化算法、增加核心或分布式部署解决;若“%wa”值高,需检查磁盘I/O性能。
- 内存瓶颈:若swap分区频繁使用,应考虑升级内存或优化应用程序内存占用(如调整JVM参数、避免内存泄漏),合理配置缓存策略,避免过度占用内存。
相关问答FAQs
Q1:为什么Linux系统中free命令显示的空闲内存很低,但系统运行依然正常?
A:Linux系统会主动将空闲内存用作Page Cache(页缓存)和Buffers(缓冲区),以加速文件读写和磁盘操作。free命令的“free”列仅代表真正未使用的内存,而“available”列才代表可被应用程序立即使用的内存总量,若“available”值充足,即使“free”值低,系统性能也不会受影响。
Q2:如何判断服务器内存是否存在泄漏?
A:可通过以下方法判断:
- 使用
free h或vmstat 1长期监控,若可用内存持续下降且swap使用量上升,但重启服务后内存恢复正常,则可能存在内存泄漏。 - 在Linux中使用
pidstat p <进程ID> r 1定期查看进程的RSS(常驻集大小)变化,若持续增长则需定位该进程代码。 - 使用Valgrind等工具对应用程序进行内存检测,分析未释放的内存调用栈。
