Skip to content

系统监控

以下命令适合在维护 Linux 服务器时快速了解主机状态。部分命令需要安装对应工具。

快速查看

日常查看时,可将下面几条命令当作任务管理器或活动监视器的替代。

目标命令说明
CPU、内存、进程htop交互式查看,可按 CPU 或内存排序;未安装时使用 top
NVIDIA GPUnvidia-smi查看 GPU 利用率、显存、温度和占用 GPU 的进程。
磁盘空间df -h查看各挂载点的总容量、已用空间和剩余空间。
当前目录大小du -sh .查看当前目录占用的磁盘空间。

需要持续观察 NVIDIA GPU 时:

bash
watch -n 1 nvidia-smi

操作系统与主机

bash
# 发行版和内核版本
cat /etc/os-release
uname -a

# 主机名、运行时间和系统负载
hostnamectl
uptime

# 虚拟机或物理机硬件信息
sudo dmidecode -t system

CPU

bash
# CPU 型号、核心数和架构
lscpu

# 实时查看 CPU、内存和负载
top

# 更易读的交互式视图(需要安装)
htop

内存

bash
# 内存和交换分区使用情况
free -h

# 内存详细信息
cat /proc/meminfo

GPU

bash
# 查看显卡设备
lspci | grep -Ei 'vga|3d|display'

# NVIDIA GPU 的状态与进程
nvidia-smi

nvidia-smi 仅适用于已安装 NVIDIA 驱动的主机;没有 NVIDIA GPU 或驱动时,该命令不可用。

磁盘与文件系统

bash
# 挂载点的容量和使用率
df -h

# 目录占用;先定位大目录,再继续深入
du -sh /var/*

# 块设备、分区和挂载关系
lsblk -f

# 磁盘 I/O(需要 sysstat)
iostat -xz 1

进程与服务

bash
# 按 CPU 或内存占用排序的进程
ps aux --sort=-%cpu | head
ps aux --sort=-%mem | head

# 查找指定进程
pgrep -af process-name

# 查看指定 PID 的详细信息
ps -fp PID

# 服务状态和失败服务
systemctl status service-name
systemctl --failed

结束进程

优先发送 SIGTERM,让进程自行清理并退出;无响应时再使用 SIGKILL

bash
# 结束指定 PID 的进程
kill PID

# 强制结束无响应的进程
kill -9 PID

# 按进程名结束;先用 pgrep -af 确认匹配结果
pkill process-name
pkill -9 process-name

网络

bash
# 网卡地址与状态、路由表
ip addr
ip route

# 所有正在监听的端口和关联进程
sudo ss -lntup

# 查询指定端口,例如 8080
sudo ss -lntp 'sport = :8080'
sudo lsof -nP -iTCP:8080 -sTCP:LISTEN

# 连通性与 DNS 查询
ping -c 4 example.com
dig example.com

# 网络连接和吞吐(需要安装)
ss -s
iftop

日志与故障排查

bash
# 本次启动的系统日志;实时跟随日志
journalctl -b
journalctl -f

# 内核日志中的错误或警告
dmesg -T | grep -Ei 'error|warn|fail'

# 最近登录记录
last -a

基于 MIT 许可发布