五个命令搞定Liunx服务器资源使用情况:1、top CPU2、free -h 内存3、df -h 磁盘空间4、iostat -dx 5 IO读写5、iftop 网络

1. 监控CPU使用:top

用途

实时查看CPU占用率、进程资源消耗及系统负载。

示例及关键指标

bash

复制

top - 15:30:01 up 30 days,  2:15,  1 user,  load average: 0.05, 0.10, 0.15  
Tasks: 120 total,   1 running, 119 sleeping,   0 stopped,   0 zombie  
%Cpu(s):  2.3 us,  0.7 sy,  0.0 ni, 96.8 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st  
MiB Mem :   7856.8 total,    102.3 free,    ...  
MiB Swap:   2048.0 total,   2048.0 free,    ...  

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  
 1234 root      20   0  123456  78900   5678 S   5.6   1.0   10:20.01 nginx  
重点关注
  • load average: 1/5/15分钟的平均负载(1核CPU时,>1表示过载)。

  • %Cpu(s):

    • us(用户进程)、sy(系统进程)、id(空闲)、wa(IO等待)。

    • wa表示磁盘IO瓶颈。

  • 按 P(按CPU排序)、M(按内存排序)。

替代命令

bash

复制

htop        # 更友好的交互式工具(支持鼠标操作)
mpstat -P ALL 1  # 查看每个CPU核心的利用率

2. 查看内存:free -h

用途

显示物理内存和Swap交换分区的使用情况。

示例及关键指标

bash

复制

              total        used        free      shared  buff/cache   available  
Mem:           7.7G        1.2G        100M        200M        6.4G        6.1G  
Swap:          2.0G        0B          2.0G  
重点关注
  • available: 系统可分配的内存(包含缓存和缓冲区的可用内存)。

  • buff/cache: 缓存和缓冲区占用(Linux会利用空闲内存加速IO,必要时自动释放)。

  • Swap使用率高可能表示物理内存不足。

扩展命令

bash

复制

vmstat 1     # 动态查看内存、Swap、IO、CPU等综合信息
cat /proc/meminfo  # 详细内存统计

3. 磁盘空间:df -h

用途

查看文件系统的磁盘空间使用情况。

示例及关键指标

bash

复制

Filesystem      Size  Used Avail Use% Mounted on  
/dev/sda1        50G   35G   15G  70% /  
tmpfs           3.9G     0  3.9G   0% /dev/shm  
重点关注
  • Use%: 使用率超过**80%**需警惕(可能导致服务异常)。

  • Avail: 剩余可用空间。

扩展命令

bash

复制

du -sh /path  # 查看目录占用空间(如 du -sh /var/log)
df -i         # 检查inode使用率(小文件过多可能导致inode耗尽)

4. 磁盘IO:iostat -dx 5

用途

监控磁盘读写速率、IO等待时间和利用率。

示例及关键指标

bash

复制

Device  r/s   w/s   rkB/s   wkB/s  await  %util  
sda     5.0   2.0   100.0    40.0   1.50    2.00  
  • rkB/s/wkB/s: 每秒读/写数据量(KB)。

  • await: IO操作平均等待时间(单位毫秒,>10ms可能异常)。

  • %util: 磁盘利用率(接近100%表示磁盘满负载)。

安装与扩展

bash

复制

sudo apt install sysstat  # Debian/Ubuntu
sudo yum install sysstat  # CentOS/RHEL
iotop -oP  # 按进程查看实时IO使用(需安装 iotop)

5. 网络带宽:iftop

用途

实时监控网络连接流量(按IP和端口排序)。

示例及关键指标

bash

复制

TX: 1.2Mb/s  RX: 3.4Mb/s  TOTAL: 4.6Mb/s  
192.168.1.100:443 => 10.0.0.5:55678    500Kb/s  
                     <=                1.2Mb/s  
  • TX/RX: 发送/接收速率。

  • 高流量IP: 检查是否为正常业务流量(如异常需排查攻击或爬虫)。

安装与扩展

bash

复制

sudo apt install iftop    # Debian/Ubuntu
sudo yum install iftop    # CentOS/RHEL
nethogs eth0    # 按进程查看网络流量

组合使用技巧

  1. 一键生成资源报告

    bash

    复制

    echo "===== CPU & Memory ====="; top -bn1 | head -5; 
    echo "===== Disk Space ====="; df -h; 
    echo "===== Network ====="; sudo iftop -t -s 5
  2. 定时监控

    bash

    复制

    watch -n 5 "free -h; df -h"  # 每5秒刷新内存和磁盘
  3. 日志记录

    bash

    复制

    iostat -dx 5 > io.log &      # 后台记录磁盘IO到文件

总结

  • CPU负载高:检查 top 中占用率高的进程。

  • 内存不足free -h 关注 available,优化程序或扩容。

  • 磁盘满df -h 清理大文件或扩容。

  • IO瓶颈iostat 检查 %util 和 await,优化数据库或存储。

  • 网络异常iftop 定位高流量IP,排查攻击或配置限速。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值