《Linux 运维排障:磁盘、内存、进程、网络四类问题怎么定位》

📅 2026/7/5 2:59:33
《Linux 运维排障:磁盘、内存、进程、网络四类问题怎么定位》
Linux 系统监控常用命令以下是一组常用的 Linux 系统监控命令用于查看磁盘、内存、进程和网络状态1. 磁盘空间查看df -h以人类可读的格式GB、MB显示磁盘空间使用情况它看什么查看所有挂载文件系统的总容量、已用空间、可用空间以及挂载点。重点关注Use%达到 100% 或接近满容的分区。什么时候用日常巡检、磁盘告警时快速定位哪个分区空间紧张部署新服务前确认目标分区剩余空间是否充足。发现异常后下一步查什么若/var或/分区使用率过高结合du -sh /var/*逐层排查大目录若为日志快速增长导致可检查/var/log下的文件并考虑配置日志轮转。du -sh *显示当前目录下各文件和子目录的大小汇总格式它看什么当前工作目录下每个第一级子目录或文件的磁盘用量结果按名称排序非按大小。适用于快速定位占用最大的几个目录。什么时候用当通过df -h发现某分区使用率偏高需要进一步找出具体是哪个目录或文件占用最多空间时使用。发现异常后下一步查什么若某个子目录如/home/user/uploads异常庞大进入该目录继续执行du -sh *或du -ah | sort -rh | head -20找出最大的文件若发现大量临时文件或备份文件清理后再次检查分区使用率。2. 内存使用情况free -h以人类可读的格式显示系统内存使用情况包括物理内存和交换空间它看什么物理内存total/used/free/shared/buff/cache/available与交换分区Swap的使用量。重点关注available值是否过低以及 Swap 使用是否持续增长。什么时候用服务响应变慢、OOM Killer 被触发、应用启动失败或系统出现卡顿现象时优先用此命令快速判断内存是否紧张。发现异常后下一步查什么若available很低且 Swap 被大量使用通过top或ps aux --sort-%mem | head找到占用内存最多的进程若某个进程内存持续增长可能为内存泄漏需结合应用日志和pmap进一步分析若 Swap 占用过高但物理内存仍有空闲可检查vm.swappiness内核参数。3. 进程监控top实时显示系统中各个进程的资源占用状况CPU、内存等它看什么系统整体负载load average、CPU 使用率分布us/sy/ni/id/wa/hi/si/st、内存与交换区概况以及按 CPU 或内存排序的进程列表。可实时观察哪个进程在消耗资源。什么时候用需要动态观察系统负载变化、快速定位 CPU 飙高的进程、检查是否有僵尸进程、或监控进程内存占用趋势时使用。发现异常后下一步查什么若某个进程 CPU 长期接近 100%记下 PID 后用strace -p PID或perf top分析该进程行为若wa值异常高说明 I/O 等待严重需转到iostat或iotop排查磁盘瓶颈若出现僵尸进程zombie检查其父进程是否正确回收子进程。ps aux显示所有用户的进程详细信息它看什么系统中每个进程的用户、PID、CPU/内存占用率、启动时间、运行时长、命令行等信息。输出为静态快照适合脚本处理和精确过滤。什么时候用需要列出所有进程并配合grep查找特定服务进程、统计进程数量、或在不支持实时监控的场景下获取进程信息时使用。发现异常后下一步查什么若发现某个进程 CPU 或内存占用异常且top未及时捕捉可用ps -p PID -o pid,ppid,cmd,%cpu,%mem详细查看若不清楚进程来源通过ls -l /proc/PID/exe确认可执行文件路径或cat /proc/PID/cmdline查看完整启动参数若存在大量相同进程可能为 fork 炸弹或脚本错误循环需核实调度策略。4. 网络连接状态ss -tunlp显示 TCP/UDP 端口监听情况和进程信息替代 netstat 的现代工具它看什么所有 TCP/UDP 套接字状态-t显示 TCP-u显示 UDP-n不解析服务名-l仅显示监听套接字-p显示绑定该端口的进程信息。可快速识别哪些端口被哪些服务监听。什么时候用检查服务是否成功启动并监听预期端口、排查端口冲突Address already in use、审计系统开放的网络服务或排查异常外连时使用。发现异常后下一步查什么若发现未预期的端口监听通过 PID 反向查找进程ps -fp PID并结合lsof -p PID查看该进程打开的文件和连接若怀疑为恶意软件监听应及时隔离主机并检查启动项及定时任务若服务端口不可达检查防火墙规则iptables -L -n或云安全组设置。ping测试网络连通性和延迟它看什么向目标 IP/域名发送 ICMP Echo Request 并等待应答显示包往返时间RTT、TTL 值及丢包率。用于判断网络层是否可达。什么时候用排查网络不通问题时的第一步测试如服务不可达、SSH 连接超时验证 DNS 解析后 IP 的可达性监控链路质量丢包、延迟抖动时使用。发现异常后下一步查什么若 ping 不通但目标主机实际在线可能 ICMP 被防火墙禁用改用telnet、nc或curl测试具体端口若丢包率高用mtrMy TraceRoute进行持续追踪定位丢包发生跳若延迟异常高排查中间路由节点或联系运营商。使用建议这些命令是 Linux 系统管理员日常运维的基础工具建议熟练掌握其参数和输出解读。