当前位置: 首页 > news >正文

Linux查看服务器内存、磁盘、cpu、网络占用、端口占用情况

以下是一篇关于Linux服务器资源监控的详细指南,涵盖内存、磁盘、CPU、网络和端口占用情况的查看方法:


Linux服务器资源监控完全指南

一、内存占用监控

1.1 free 命令

命令格式

free [选项]

常用选项

  • -h:以人类可读格式显示(自动转换单位为GB/MB)
  • -m:以MB为单位显示
  • -s <秒>:持续监控(如 free -h -s 5 每5秒刷新)

示例输出

              total        used        free      shared  buff/cache   available
Mem:           15Gi       4.2Gi       2.1Gi       0.5Gi       8.7Gi        10Gi
Swap:         2.0Gi       0.0Gi       2.0Gi

关键指标解读

  • total:总内存
  • used:已用内存(包含缓存和缓冲区)
  • free:完全未使用的内存
  • buff/cache:被缓存和缓冲区占用的内存(可被快速释放)
  • available:系统可用内存(估算值)

1.2 top/htop 命令

top        # 实时动态视图
htop       # 增强版top(需安装)

htop 优势

  • 彩色显示
  • 支持鼠标操作
  • 直观显示内存占用进程

二、磁盘空间监控

2.1 df 命令

命令格式

df [选项] [目录]

常用选项

  • -h:人类可读格式
  • -i:显示inode使用情况
  • -T:显示文件系统类型

示例

df -h /home    # 查看/home分区使用情况

关键指标

  • Use%:使用百分比
  • Mounted on:挂载点

2.2 du 命令

查看目录占用

du -sh /var/log    # 统计/var/log目录总大小
du -h --max-depth=1 /  # 查看根目录下一级子目录大小

2.3 磁盘性能监控

iostat -x 1    # 查看磁盘I/O统计(需安装sysstat)

三、CPU监控

3.1 top 命令

关键信息

  • %Cpu(s) 行:
    • us:用户空间占用
    • sy:内核空间占用
    • id:空闲率
    • wa:I/O等待

3.2 vmstat 命令

vmstat 1 5    # 每秒采样,共5次

输出解读

  • r:等待运行的进程数
  • b:不可中断的进程数
  • in:每秒中断次数
  • cs:上下文切换次数

3.3 mpstat 命令

mpstat -P ALL 1    # 查看每个CPU核心的使用情况

四、网络监控

4.1 基础监控

ifconfig         # 查看网络接口状态
ip addr         # 现代替代命令
netstat -i      # 查看网络接口统计

4.2 实时流量监控

nload           # 分接口实时流量(需安装)
iftop -nP       # 实时连接流量排名(需安装)

4.3 连接状态统计

ss -s           # 显示socket统计摘要
netstat -nat    # 查看所有TCP连接

五、端口占用监控

5.1 基础查询

netstat -tunlp | grep :80    # 查看80端口占用
ss -tunlp | grep 3306       # MySQL端口查询

5.2 进程级查询

lsof -i :22                 # 查看SSH端口占用进程

5.3 端口扫描检测

nmap -sT -p 80,443 127.0.0.1  # 本地端口扫描

六、高级监控工具

6.1 监控全家桶

glances       # 综合监控工具(需安装)
nmon          # 分屏式监控(支持历史记录)

6.2 长期监控方案

sar -u 1 3    # CPU历史统计(需配置sysstat)

6.3 可视化工具

  • Prometheus + Grafana:企业级监控方案
  • Netdata:实时可视化监控

七、自动化监控脚本示例

#!/bin/bash
# 每日资源报告
echo "===== Memory ====="
free -hecho -e "\n===== Disk ====="
df -h | grep -v tmpfsecho -e "\n===== CPU Top 5 ====="
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -6echo -e "\n===== Network Connections ====="
ss -secho -e "\n===== Port Usage ====="
ss -tunlp | grep LISTEN

八、优化建议

  1. 内存优化

    • 调整 vm.swappiness(建议值10-60)
    • 使用 slabtop 分析内核内存占用
  2. 磁盘优化

    • 定期清理日志文件
    • 使用 iotop 定位磁盘I/O高的进程
  3. 网络优化

    • 使用 tcpdump 分析异常流量
    • 配置 net.ipv4.tcp_keepalive_time 参数
  4. 端口安全

    • 使用 fail2ban 防止端口扫描
    • 配置防火墙规则(iptables/nftables)

九、注意事项

  1. 部分命令需要root权限(如 iftop, nmap
  2. 生产环境慎用 -p 参数显示进程信息
  3. 长期监控建议使用标准工具(如Prometheus)
  4. 注意单位换算(1GiB = 1024MiB,1GB = 1000MB)

通过合理组合这些工具,可以构建完整的服务器监控体系。建议根据实际需求选择命令,对于关键业务服务器建议部署专业监控系统。

http://www.dtcms.com/a/351740.html

相关文章:

  • THM El Bandito
  • 设计模式学习笔记-----抽象责任链模式
  • 常见的设计模式
  • 深度学习篇---1*1卷积核的升维/降维
  • Unity笔记(七)——四元数、延迟函数、协同程序
  • 【Linux】Keepalived + Nginx高可用方案
  • [pilot智驾系统] 驾驶员监控守护进程(dmonitoringd)
  • 从代码学习深度强化学习 - 多智能体强化学习 IPPO PyTorch版
  • pytorch_grad_cam 库学习笔记——基类ActivationsAndGradient
  • vue2 和 vue3 生命周期的区别
  • 【Android】不同系统API版本_如何进行兼容性配置
  • 2014-2024高教社杯全国大学生数学建模竞赛赛题汇总预览分析
  • VMDK 文件
  • 软考-系统架构设计师 计算机系统基础知识详细讲解二
  • springcloud篇5-微服务保护(Sentinel)
  • Spring Boot mybatis-plus 多数据源配置
  • 【CVE-2025-5419】(内附EXP) Google Chrome 越界读写漏洞【内附EXP】
  • Kafka面试精讲 Day 1:Kafka核心概念与分布式架构
  • Elasticsearch中的协调节点
  • 详解kafka基础(一)
  • JavaScript常用的算法详解
  • Cherry-pick冲突与Git回滚
  • Oracle跟踪及分析方法
  • 力扣100+补充大完结
  • MySql 事务 锁
  • 推荐系统学习笔记(十四)-粗排三塔模型
  • 庖丁解牛:深入解析Oracle SQL语言的四大分类——DML、DDL、DCL、TCL
  • KubeBlocks for Oracle 容器化之路
  • 高校党建系统设计与实现(代码+数据库+LW)
  • 从零开始的 Docker 之旅