快查组合解决什么问题
远程连上一台陌生机器或故障机时,先用几条命令把底数摸清:什么系统什么内核、跑了多久、最近一次启动是什么时候、几个核多少内存、磁盘怎么分的。这些信息决定了后续排查方向,也是交接文档与工单里最常被问到的基本项,固化成一个脚本比每次现敲更省事。
基本信息
| 身份 | hostnamectl、uname -a、cat /etc/os-release |
|---|---|
| 运行时长 | uptime、uptime -s(精确到启动时刻) |
| 启动时间 | who -b、last reboot | head |
| 资源概况 | free -h、lscpu、nproc |
| 存储概况 | lsblk -f、df -hT |
| 留档方式 | 固化成 collect-info.sh 并输出到文件 |
典型使用场景
- 接手新系统时快速了解硬件与系统版本
- 报障工单里需要附上基础环境信息
- 排查重启原因时确认最近一次启动时刻
- 容量评估前先看清 CPU、内存与磁盘基线
- 把采集脚本纳入巡检,形成可对比的历史快照
快查组合
快查组合
hostnamectl # 主机名、系统版本、内核、架构
uname -a # 内核版本与编译信息
uptime # 当前时间、运行时长、负载均值
uptime -s # 精确启动时刻,排查重启最有用
free -h # 内存与交换空间用量
lscpu | grep -E 'Model name|^CPU\(s\)|Architecture' # CPU 型号、核数、架构
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT | head # 磁盘与分区结构补充维度与落档
补充维度与落档
df -hT # 各分区文件系统类型与使用率
nproc; cat /proc/loadavg # 核数与负载,判断负载是否偏高有参照
ip -br a; ip route | head -3 # 地址与默认路由
systemctl --failed # 失败服务单元,排障第一眼
{ hostnamectl; uname -a; uptime; free -h; df -hT; } > /tmp/collect-info-$(date +%F).txt # 一次性落档输出怎么读
| 命令 | 关键输出 | 判读要点 |
|---|---|---|
| uptime | load average 三个数值 | 分别是一、五、十五分钟均值,需与核数对比 |
| free -h | available 列 | 看可用内存而不是 free 列,free 不含缓存 |
| lsblk -f | FSTYPE 与 MOUNTPOINT | 未挂载的分区要确认是否有用途 |
| df -hT | Use% 列 | 接近 100% 前需清理或扩容 |
| who -b | 最近启动时间 | 与计划重启记录不符说明发生过异常重启 |
容器里采集到的是容器视角(CPU 与内存受 cgroup 限制,主机信息在 /proc 之外才是全貌),汇报资源时要说明是容器还是虚拟机。
who -b 只给最近一次启动时间,排查『机器是不是重启过』还应看 journalctl --list-boots 列出的历史启动记录。