惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Y
Y Combinator Blog
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
M
MIT News - Artificial intelligence
博客园 - Franky
V
Visual Studio Blog
I
InfoQ
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
博客园 - 司徒正美
L
LangChain Blog

博客园 - xiashengwang

Rocky Linux 9 安装docker Rocky Linux 9 与Centos区别,以及软件安装dnf命令 《Linux 基础点滴》:(17)SSH 密钥生成与管理 – 免密登录的利器 Linux服务器安全登录:从入门到实践 putty 基础 《Linux 基础点滴》:(16)firewalld 防火墙管理命令 《Linux 基础点滴》:(15)用户管理 – 创建、删除、权限与 sudo 《Linux 基础点滴》:(14)定时任务 – 用 crontab 自动化 《Linux 基础点滴》:(13)文本编辑入门 – 使用 Vim 《Linux 基础点滴》:(12)tldr – 简化版命令手册 《Linux 基础点滴》:(10)压缩与打包 – tar 的艺术 《Linux 基础点滴》:(9)查找与过滤 – find, grep, 管道 《Linux 基础点滴》:(8)网络基础 – 查看 IP、连通性与端口 《Linux 基础点滴》:(7)进程管理 – 查看与控制运行中的程序 《Linux 基础点滴》:(6)文件权限与所有者 – 保护你的文件 《Linux 基础点滴》:(5)文件与目录操作 – 增删改查必会命令 《Linux 基础点滴》:(4)磁盘空间查看 – df 和 du 的妙用 《Linux 基础点滴》:(3)Linux 文件系统概览 – 一切皆文件 《Linux 基础点滴》:(2)SSH 连接与基础命令 – 从登录到第一次操作 《Linux 基础点滴》:(1)初识 Linux 大家族 – 发行版分类与选择 docker学习(7)-docker compose 文件 docker学习(11)- 容器的日志(log) docker学习(10)-利用Github Action 自动化部署 docker学习(9)-Docker Swarm + Nginx 跨机器负载均衡 docker学习(8)-从 Windows 开发到 Linux 部署 docker学习(6)-数据持久化与网络通信 学会 Git Tag,让版本管理不再混乱 docker学习(5)-Dockerfile docker学习(4)-Docker常用命令 docker学习(3)-一个简单的例子
《Linux 基础点滴》:(11)系统信息与资源监控 – 掌握服务器...
xiashengwang · 2026-04-21 · via 博客园 - xiashengwang

2026-04-21 17:31  xiashengwang  阅读(6)  评论()    收藏  举报

第 11 篇:系统信息与资源监控 – 掌握服务器状态

学习目标

  • 查看内存、CPU、磁盘、系统负载等关键指标
  • 学会使用 free, lscpu, uptime, uname
  • 编写简单的监控脚本

核心概念

内存查看

free -h
# 重点:available 列表示可用于启动新应用的物理内存(不含 swap)

CPU 信息

lscpu                # 显示架构、核心数、线程数
nproc                # 显示可用的处理单元数
cat /proc/cpuinfo | grep "processor" | wc -l   # 等效

系统负载与运行时间

uptime
# 输出:10:30:01 up 2 days,  load average: 0.08, 0.03, 0.01
# 负载分别表示 1分钟、5分钟、15分钟的平均活跃进程数(可大于核心数)

显示当前登录到系统的用户

who
# 输出:10:30:01 up 2 days,  load average: 0.08, 0.03, 0.01
# USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
# root     tty1                      04Apr24 746days  0.04s  0.04s -bash
# root     pts/0    222.212.86.154   16:48    3.00s  0.05s  0.00s w

内核与发行版信息

uname -a
# Linux centos 3.10.0-1160.el7.x86_64 #1 SMP ... x86_64

动手实验

实验 1:实时监控脚本

#!/bin/bash
# monitor.sh
echo "=== $(date) ==="
echo "Uptime: $(uptime)"
echo "Memory: $(free -h | grep Mem)"
echo "Disk /: $(df -h / | tail -1)"
echo "CPU load: $(top -bn1 | grep "load average" | awk '{print $10 $11 $12}')"

保存后 chmod +x monitor.sh,运行 ./monitor.sh

实验 2:使用 vmstat 看系统瓶颈

vmstat 1 5     # 每秒一次,共 5 次
# 关注:si/so(swap 换入换出),us/sy(用户态/内核态 CPU 占比)

常见错误

  • free 中的 buff/cache 是缓存,可被回收,不应算作已用内存
  • 负载值大于 CPU 核心数通常表示过载

思考题

  1. 如何判断系统是否正在使用 swap?
  2. 写一行命令,每秒输出一次内存使用率。