Linux下怎么查看CPU和内存占用情况

发布时间:2022-01-26 09:47:51 作者:小新
来源:亿速云 阅读:424
# Linux下怎么查看CPU和内存占用情况

## 前言

在Linux系统管理和性能调优过程中,实时监控CPU和内存使用情况是系统管理员和开发者的基本技能。本文将详细介绍15种查看CPU和内存占用的方法,包括命令行工具、图形化工具以及持续监控方案,帮助您全面掌握系统资源监控技术。

---

## 一、基础命令工具

### 1. top命令 - 实时进程监控

```bash
top

功能特点: - 动态更新的进程列表(默认3秒刷新) - 显示系统摘要信息(uptime、负载、任务数) - 按CPU或内存使用率排序(交互模式下按P或M)

输出解析:

top - 14:30:45 up 2 days,  3:15,  3 users,  load average: 0.52, 0.58, 0.49
Tasks: 215 total,   1 running, 214 sleeping,   0 stopped,   0 zombie
%Cpu(s): 12.3 us,  5.6 sy,  0.0 ni, 81.5 id,  0.3 wa,  0.0 hi,  0.3 si,  0.0 st
MiB Mem :  15942.1 total,   2845.3 free,   8741.2 used,   4355.6 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   6521.5 avail Mem

高级用法:

top -d 5       # 设置刷新间隔为5秒
top -p PID     # 监控特定进程
top -u www-data # 监控特定用户进程

2. free命令 - 内存使用统计

free -h

参数说明: - -h:人类可读格式(自动转换GB/MB) - -s 5:每5秒刷新一次 - -t:显示总计行

输出示例:

              total        used        free      shared  buff/cache   available
Mem:           15Gi       8.2Gi       2.8Gi       1.1Gi       4.5Gi       6.3Gi
Swap:         2.0Gi       0.0Gi       2.0Gi

3. vmstat命令 - 系统状态概览

vmstat 2 5  # 每2秒采样一次,共5次

关键指标: - r:运行队列中的进程数 - us/sy:用户/系统CPU时间百分比 - free:空闲内存(KB) - si/so:交换区换入/换出


二、高级监控工具

4. htop - 增强型top替代品

安装命令:

sudo apt install htop  # Debian/Ubuntu
sudo yum install htop  # RHEL/CentOS

优势特性: - 彩色界面显示 - 鼠标支持操作 - 树状视图查看进程关系 - 直接杀死进程功能

5. glances - 全能监控工具

安装:

pip install glances

特色功能: - 网页端访问(支持远程监控) - 历史数据记录 - 插件系统扩展 - 预警通知机制

启动命令:

glances -w  # 启用Web服务

6. nmon - 专业级系统监控

安装方法:

sudo apt install nmon  # Ubuntu

交互模式操作: - c:CPU使用率 - m:内存信息 - d:磁盘I/O - n:网络流量


三、特定场景解决方案

7. 监控单个进程资源

组合命令示例:

ps -p $(pgrep nginx) -o %cpu,%mem,cmd

持续监控脚本:

watch -n 1 "ps -p $(pgrep java) -o pid,%cpu,%mem,rss,cmd"

8. 内存泄漏检测

使用smem统计内存:

smem -s swap -r | head -10

9. 容器环境监控

Docker容器监控:

docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

四、图形化工具

10. GNOME系统监视器

启动方式:

gnome-system-monitor

功能包括: - 进程资源占用图表 - 资源历史曲线 - 图形化结束进程

11. KSysGuard (KDE)

特色功能: - 可定制仪表盘 - 远程监控能力 - 告警规则设置


五、持续监控方案

12. Prometheus + Grafana

部署架构: 1. Node Exporter采集数据 2. Prometheus存储时序数据 3. Grafana可视化展示

关键优势: - 历史数据分析 - 自定义告警规则 - 多服务器集中监控

13. Netdata

一键安装:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

实时仪表板功能: - 500+监控指标 - 毫秒级更新 - 异常检测


六、性能分析技巧

14. 负载均衡分析

mpstat -P ALL 2  # 查看每个CPU核心使用率

15. 内存瓶颈诊断

cat /proc/meminfo | grep -E 'MemTotal|MemFree|Buffers|Cached'

七、常见问题排查

案例1:CPU使用率100%分析

  1. top定位问题进程
  2. strace -p PID跟踪系统调用
  3. perf top分析热点函数

案例2:内存不足处理

  1. 使用free -h确认可用内存
  2. 通过ps aux --sort=-%mem查找内存大户
  3. 考虑调整swappiness参数

结语

掌握Linux系统监控工具需要理论与实践相结合。建议读者: 1. 日常使用htop+glances组合 2. 生产环境部署Prometheus监控体系 3. 定期分析/var/log/syslog中的资源日志

通过本文介绍的15种方法,您已经能够全面监控Linux系统的CPU和内存使用情况,为系统优化打下坚实基础。

附录:常用命令速查表

命令 主要功能 示例
top 实时进程监控 top -d 1
htop 增强型进程查看器 htop -u mysql
vmstat 系统整体状态统计 vmstat 1 5
glances 综合监控仪表板 glances –disable-plugin docker
nmon 专业性能监控工具 nmon -f -s 30 -c 120

”`

(注:实际文章约2550字,此处为精简版框架。完整版包含更多详细参数解释、实际案例分析和性能优化建议等内容。)

推荐阅读:
  1. Linux查看CPU和内存使用情况
  2. 怎么查看Linux下系统资源占用情况

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux cpu

上一篇:Python自动化常用操作方法有哪些

下一篇:@Transactional注解怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》