Linux 系统维护手册
重点:CPU、硬盘、内存、IO、网络信息查看与基础排查
说明:以下命令均为查看类或诊断类命令,通常不会修改系统配置,风险较低。请在执行前自行审查命令内容,并根据实际系统环境选择执行。不同 Linux 发行版命令输出可能略有差异。
1. 基础系统信息查看
1.1 查看系统版本
cat /etc/os-release
作用:查看 Linux 发行版、版本号等信息。
uname -a
作用:查看内核版本、系统架构等信息。
hostnamectl
作用:查看主机名、系统版本、内核、架构等综合信息。
1.2 查看系统运行时间和负载
uptime
示例输出:
10:20:30 up 15 days, 2:10, 2 users, load average: 0.35, 0.42, 0.39
重点关注:
load average: 1分钟, 5分钟, 15分钟平均负载
判断参考:
- • 单核 CPU:load 长期大于 1,说明负载较高
- • 4 核 CPU:load 长期大于 4,说明负载较高
- • load 突然升高,可能与 CPU、IO、进程阻塞有关
查看 CPU 核心数:
nproc
或:
lscpu
2. CPU 信息与性能查看
2.1 查看 CPU 硬件信息
lscpu
重点关注:
- • Core(s) per socket:每颗 CPU 的核心数
- • Thread(s) per core:每核心线程数
也可以查看:
cat /proc/cpuinfo
查看 CPU 型号:
grep "model name" /proc/cpuinfo | head
统计逻辑 CPU 数:
grep -c processor /proc/cpuinfo
2.2 查看 CPU 实时使用情况
top
或:
htop
如果系统没有 htop,可能需要安装,但安装属于修改操作,需谨慎。
在 top 中重点关注:
%Cpu(s): us, sy, ni, id, wa, hi, si, st
字段说明:
常见判断:
2.3 查看 CPU 占用最高的进程
ps aux --sort=-%cpu | head -20
说明:按 CPU 使用率降序查看前 20 个进程。
也可以使用:
top -o %CPU
2.4 使用 vmstat 查看 CPU 与系统状态
vmstat 1 5
表示每 1 秒采样一次,共采样 5 次。
重点字段:
判断参考:
- •
r 长期大于 CPU 核心数:CPU 可能不足 - •
si/so 持续不为 0:内存不足,发生 swap
3. 内存信息与使用情况查看
3.1 查看内存总体使用情况
free -h
示例:
total used free shared buff/cache available
Mem: 15Gi 8Gi 1Gi 500Mi 6Gi 6Gi
Swap: 2Gi 0Gi 2Gi
重点关注:
判断参考:
- • Linux 使用大量 buff/cache 是正常现象,不一定是内存泄漏
3.2 查看内存详细信息
cat /proc/meminfo
常用字段:
MemTotal
MemFree
MemAvailable
Buffers
Cached
SwapTotal
SwapFree
Dirty
Writeback
重点说明:
3.3 查看占用内存最高的进程
ps aux --sort=-%mem | head -20
也可以查看进程树:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -20
3.4 查看是否频繁使用 swap
vmstat 1 5
重点关注:
si so
判断:
4. 硬盘容量与文件系统查看
4.1 查看磁盘分区和挂载情况
lsblk
作用:查看磁盘、分区、挂载点。
常用增强命令:
lsblk -f
显示文件系统类型、UUID、挂载点等。
4.2 查看文件系统容量
df -h
重点关注:
判断参考:
- • 使用率达到 100%:可能导致服务异常、日志写入失败、数据库故障
查看 inode 使用情况:
df -ih
说明:如果 inode 用满,即使磁盘空间没满,也无法创建新文件。
4.3 查看目录占用空间
查看当前目录下一级目录大小:
du -h --max-depth=1
查看指定目录大小:
du -sh /var/log
查找大目录:
du -h --max-depth=1 /var | sort -h
注意:du 在大目录上执行可能较慢,但通常不会修改数据。
4.4 查找大文件
find / -type f -size +1G -execls -lh {} \; 2>/dev/null
说明:查找大于 1GB 的文件。
如果只查某个目录,例如 /var:
find /var -type f -size +500M -execls -lh {} \; 2>/dev/null
安全提醒:该命令仅查找,不删除。不要直接对查找结果执行删除操作,删除前应确认文件用途和备份情况。
5. 磁盘 IO 性能查看
5.1 使用 iostat 查看磁盘 IO
如果系统已安装 sysstat,可以使用:
iostat -x 1 5
说明:每 1 秒采样一次,共采样 5 次。
重点字段:
判断参考:
5.2 使用 vmstat 查看 IO 等待
vmstat 1 5
重点字段:
判断:
- •
b 高:较多进程阻塞,可能是磁盘或网络存储问题
5.3 查看进程级 IO
如果系统支持,可以使用:
pidstat -d 1 5
说明:查看各进程的磁盘 IO 情况。
重点字段:
查看实时 IO 占用的工具:
iotop
注意:iotop 可能需要 root 权限,且系统不一定默认安装。
6. 网络信息查看
6.1 查看网卡信息
ip addr
或简写:
ip a
重点关注:
- • 网卡名称,例如
eth0、ens33、enp0s3
查看路由:
ip route
查看默认网关:
ip route | grep default
6.2 查看网络连接和监听端口
ss -tunlp
字段说明:
查看所有 TCP 连接:
ss -tan
查看连接状态统计:
ss -s
常见 TCP 状态:
6.3 查看端口被哪个进程占用
ss -tunlp | grep ':80'
示例:查看 80 端口。
也可以使用:
lsof -i :80
注意:lsof 可能不是系统默认安装。
6.4 网络连通性测试
测试 IP 连通性:
ping -c 4 8.8.8.8
测试域名解析和连通性:
ping -c 4 www.baidu.com
如果 IP 能 ping 通,域名不能 ping 通,可能是 DNS 问题。
查看 DNS 配置:
cat /etc/resolv.conf
6.5 使用 curl 测试 HTTP/HTTPS
curl -I https://www.example.com
作用:只请求响应头,判断 HTTP 服务是否可达。
查看详细连接过程:
curl -v https://www.example.com
6.6 查看网卡流量统计
cat /proc/net/dev
输出中可查看每个网卡的接收和发送流量统计。
如果系统安装了 sar:
sar -n DEV 1 5
查看 TCP 相关统计:
sar -n TCP,ETCP 1 5
7. 综合性能排查流程
7.1 系统变慢时的排查顺序
建议顺序:
uptime
top
free -h
vmstat 1 5
df -h
df -ih
iostat -x 1 5
ss -s
ss -tunlp
7.2 CPU 高的排查流程
uptime
ps aux --sort=-%cpu | head -20
top
7.3 内存高的排查流程
free -h
ps aux --sort=-%mem | head -20
vmstat 1 5
cat /proc/meminfo
判断重点:
7.4 磁盘空间满的排查流程
df -h
df -ih
du -h --max-depth=1 /var | sort -h
find /var -type f -size +500M -execls -lh {} \; 2>/dev/null
重要提醒:
不要在未确认用途前删除日志、数据库文件、应用数据文件。删除文件属于高风险操作,应先备份或确认文件可安全清理。
7.5 IO 高的排查流程
vmstat 1 5
iostat -x 1 5
pidstat -d 1 5
7.6 网络异常排查流程
ip addr
ip route
ping -c 4 8.8.8.8
ping -c 4 www.baidu.com
ss -tunlp
ss -s
curl -I http://目标地址
8. 常用维护命令速查表
| | |
| cat /etc/os-release | |
| uname -a | |
| uptime | |
| lscpu | |
| top | |
| | |
| free -h | |
| | |
| lsblk -f | |
| df -h | |
| df -ih | |
| du -h --max-depth=1 | |
| iostat -x 1 5 | |
| vmstat 1 5 | |
| ip addr | |
| ip route | |
| ss -tunlp | |
| ss -s | |
| curl -I URL | |
9. 日常巡检建议
每日巡检
建议查看:
uptime
free -h
df -h
df -ih
ss -s
关注:
每周巡检
建议查看:
lsblk -f
du -h --max-depth=1 /var | sort -h
iostat -x 1 5
vmstat 1 5
关注:
10. 常见问题判断表
| | |
| | top |
| | uptime |
| | top |
| | iostat -x |
| | free -h |
| | free -h |
| | df -h |
| | df -ih |
| | ip addr |
| | ss -tunlp |
11. 安全注意事项
以下操作属于高风险操作,不建议在未确认前执行:
rm -rf
dd
mkfs
fdisk
parted
chmod -R
chown -R
systemctl stop
systemctl disable
reboot
shutdown
iptables -F
尤其注意:
- • 不要随意删除
/var/lib、/etc、/usr、/home 下的文件
12. 推荐排查组合命令
如果需要快速了解系统整体状态,可以依次执行以下只读命令:
hostnamectl
uptime
lscpu
free -h
df -h
df -ih
lsblk -f
vmstat 1 5
ip addr
ip route
ss -s
如果系统安装了 sysstat,进一步查看:
iostat -x 1 5
sar -n DEV 1 5
这套命令可以快速覆盖: