centos

centos虚拟机如何监控资源使用情况

小樊
45
2025-09-20 00:20:09
栏目: 云计算

一、系统自带命令行工具(基础监控)
系统自带的命令行工具无需额外安装,适合快速查看资源使用情况,是CentOS虚拟机监控的基础手段。

  1. top命令:实时显示系统进程及资源占用,是Linux系统最常用的监控工具。

    • 启动方式:终端输入top,按q退出。
    • 关键信息解读:
      • 第一行:系统时间、运行时长、登录用户数、1/5/15分钟平均负载(若数值超过逻辑CPU数量的5倍,说明系统超负荷);
      • 第三行:CPU使用率(us=用户空间占用、sy=内核空间占用、id=空闲率、wa=IO等待占用,重点关注id值,若低于20%可能负载过高);
      • 第四/五行:内存使用情况(total=总内存、used=已用内存、free=空闲内存、available=应用程序可用内存,Linux内存管理会将未使用的内存用作缓存,因此free值小是正常现象);
      • 进程列表:显示PID(进程ID)、USER(所有者)、%CPU(CPU占用率)、%MEM(内存占用率)、COMMAND(进程命令),默认按CPU占用排序,按M键可切换为按内存占用排序。
  2. htop命令:top命令的增强版,提供更友好的交互界面和更多功能(如鼠标操作、批量终止进程、按树状视图查看进程关系)。

    • 安装方法(CentOS 7及以上):sudo yum install epel-release && sudo yum install htop
    • 启动方式:终端输入htop,按q退出。
    • 关键优势:
      • 彩色高亮显示不同类型负载(绿色=用户进程、红色=内核进程);
      • 支持鼠标点击排序、筛选进程(如按用户筛选htop --user=mysql);
      • 可批量选中进程并按F9终止(需root权限)。
  3. vmstat命令:报告系统整体资源使用情况(CPU、内存、磁盘IO、系统调用等),适合查看系统级瓶颈。

    • 安装方法(若未内置):sudo yum install sysstat
    • 使用方式:vmstat [间隔秒数] [次数](如vmstat 1 5表示每1秒刷新一次,共5次);
    • 关键指标:
      • procsr(运行队列中的进程数,若长期大于逻辑CPU数量,说明CPU不足)、b(阻塞进程数);
      • memoryfree(空闲内存)、buff(缓冲内存)、cache(缓存内存);
      • swapsi(从磁盘交换到内存的数据量)、so(从内存交换到磁盘的数据量,若si/so持续大于0,说明内存不足);
      • cpuus(用户空间占用)、sy(内核空间占用)、id(空闲率)、wa(IO等待占用)。
  4. iostat命令:监控系统磁盘IO和CPU使用情况,适合分析磁盘性能瓶颈。

    • 安装方法:同vmstatsysstat包);
    • 使用方式:iostat [间隔秒数] [次数](如iostat -x 1表示每1秒刷新一次,显示扩展统计信息);
    • 关键指标(-x参数):
      • %util:磁盘利用率(若接近100%,说明磁盘繁忙);
      • await:平均IO等待时间(若过长,说明磁盘响应慢);
      • r/s/w/s:每秒读/写请求数;
      • rkB/s/wkB/s:每秒读/写数据量(KB)。
  5. free命令:查看系统内存和交换分区使用情况,以易读格式显示。

    • 使用方式:free [-h]-h表示以GB/MB为单位,更直观);
    • 关键信息:重点关注available列(应用程序可用内存),而非free列(未被使用的内存)。
  6. netstat命令:监控网络连接、路由表、接口统计信息,适合排查网络问题。

    • 安装方法(若未内置):sudo yum install net-tools
    • 使用方式:netstat -tulnp-t=TCP连接、-u=UDP连接、-l=监听状态、-n=以数字形式显示地址/端口、-p=显示进程信息);
    • 关键信息:查看LISTEN状态的端口(监听中的服务)、ESTABLISHED状态的连接(已建立的连接),可结合grep筛选特定端口(如netstat -tulnp | grep 80查看HTTP服务连接)。

二、第三方图形化/增强工具(高级监控)
第三方工具提供更强大的功能(如实时可视化、历史数据存储、报警机制),适合需要深入监控的场景。

  1. nmon工具:跨平台的系统性能监控工具,支持实时监控CPU、内存、磁盘IO、网络等指标,并可生成报告。

    • 安装方法:sudo yum install nmon
    • 启动方式:终端输入nmon,按c=CPU、m=内存、d=磁盘、n=网络切换监控项,按q退出;
    • 特点:轻量、易用,适合快速定位性能瓶颈。
  2. Prometheus+Grafana组合:开源的监控与可视化平台,适合大规模、分布式系统的长期监控。

    • 架构:Prometheus负责收集监控数据(通过node_exporter采集CentOS虚拟机的系统指标),Grafana负责将数据可视化(创建仪表盘展示CPU、内存、磁盘等指标);
    • 部署步骤:
      • 在CentOS上安装node_exporterwget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz,解压后运行./node_exporter);
      • 配置Prometheus(编辑prometheus.yml,添加CentOS虚拟机的node_exporter地址);
      • 在Grafana中添加Prometheus数据源,并导入CentOS监控仪表盘(如ID=1860的官方仪表盘);
    • 特点:支持历史数据查询、报警规则设置(如CPU使用率超过80%时发送邮件报警),适合企业级监控。
  3. Cockpit工具:Red Hat推出的系统管理工具,提供Web界面的系统监控与管理功能,适合新手使用。

    • 安装方法:sudo yum install cockpit
    • 启动方式:sudo systemctl enable --now cockpit.socket,然后在浏览器访问https://<CentOS-IP>:9090,输入root账号密码登录;
    • 功能:查看CPU、内存、磁盘、网络使用情况,管理用户、服务、存储等,界面简洁直观。

三、VirtualBox内置监控(虚拟化管理)
若CentOS虚拟机运行在VirtualBox环境中,可通过VirtualBox Manager查看虚拟机的实时资源使用情况。

0
看了该问题的人还看了