Linux服务器监控命令有哪些常用?

Linux 服务器监控是确保系统稳定运行的关键环节,通过合理的命令和工具,管理员可以实时掌握系统资源使用情况、进程状态、网络流量等信息,及时发现并解决潜在问题,以下将详细介绍 Linux 服务器中常用的监控命令及其使用方法,涵盖 CPU、内存、磁盘、网络等多个维度。

linux 服务器监控命令
(图片来源网络,侵删)

CPU 监控命令

CPU 是服务器的核心组件,监控其使用率、负载等指标对判断系统性能至关重要。

  1. top 命令
    top 是动态实时监控工具,默认每 3 秒刷新一次,展示系统中各个进程的资源占用情况,通过 top 可以查看:

    • 第一行:系统时间、运行时长、登录用户数、系统负载(1分钟、5分钟、15分钟平均值)。
    • 第二行:进程总数、运行中、睡眠、停止、僵死进程的数量。
    • 第三、四行:CPU 和内存使用率。
    • 下方区域:各进程的 PID、用户、CPU 占用率、内存占用率、命令等信息。
      常用交互命令:P 按 CPU 使用率排序、M 按内存使用率排序、k 终止进程、q 退出。
  2. htop 命令
    htoptop 的增强版,界面更友好,支持鼠标操作,可垂直或水平进程列表,实时显示线程和子进程,安装后直接输入 htop 启动,通过功能键(如 F1 帮助、F2 设置)进行个性化配置。

  3. mpstat 命令
    属于 sysstat 包,用于监控 CPU 的详细状态,包括各核心的使用率、系统态、用户态、等待 I/O 等。

    linux 服务器监控命令
    (图片来源网络,侵删)
    mpstat -P ALL 1 5  # 监控所有核心,每秒刷新,共 5 次

    输出结果中 %usr 表示用户态占用,%sys 表示内核态占用,%wa 表示等待 I/O 的时间。

  4. uptime 命令
    简单展示系统负载,即最近 1 分钟、5 分钟、15 分钟的平均进程数。16:30:25 up 10 days, 2:30, 2 users, load average: 0.10, 0.20, 0.15,负载值超过 CPU 核心数时可能存在性能瓶颈。

内存监控命令

内存不足会导致系统变慢甚至服务崩溃,需重点关注使用率和缓存情况。

  1. free 命令
    显示系统内存使用情况,包括物理内存、交换空间(Swap),常用选项 -h 以人类可读格式(如 KB、MB、GB)展示:

    linux 服务器监控命令
    (图片来源网络,侵删)
    free -h

    输出中 total 为总内存,used 已用,free 空闲,buff/cache 为缓冲和缓存,available 为可用内存(包含可回收的缓存)。

  2. vmstat 命令
    虚存统计工具,可监控内存、进程、I/O 等信息。vmstat 1 5 每秒刷新,共 5 次,重点关注 si(Swap 入)和 so(Swap 出)值,若持续大于 0,说明内存不足,频繁换页会影响性能。

  3. smem 命令
    相比 freesmem 能更精确计算进程的实际内存占用(区分 PSS、USS 等指标),适合排查内存泄漏问题,安装后使用 smem -t 查看进程内存占比表格。

磁盘监控命令

磁盘空间不足或 I/O 性能问题会导致服务异常,需定期检查磁盘使用率和 I/O 性能。

  1. df 命令
    查看文件系统磁盘空间使用情况,-h 选项人性化显示:

    df -h

    输出包含文件系统、总容量、已用、可用、使用率及挂载点,重点关注使用率超过 80% 的分区。

  2. du 命令
    统计目录或文件占用的磁盘空间,-sh 查看指定目录总大小:

    du -sh /var/log  # 查看 /var/log 目录大小

    结合 sort 命令可快速定位大文件:du -sh /* | sort -hr,按大小降序显示根目录下各文件/文件夹大小。

  3. iostat 命令
    属于 sysstat 包,监控磁盘 I/O 性能,包括设备读写速率、I/O 请求队列长度等。iostat -dx 1 5 显示设备扩展统计,每秒刷新,%util 表示磁盘 I/O 繁忙度,若持续超过 70%,可能存在 I/O 瓶颈。

  4. iotop 命令
    类似 top 的磁盘 I 监控工具,实时显示各进程的磁盘读写速度,安装后使用 sudo iotop 启动,按 o 只显示有 I/O 操作的进程。

网络监控命令

网络流量异常可能预示安全攻击或服务问题,需监控带宽使用、连接状态等。

  1. ss 命令
    替代传统的 netstat,更快地显示套接字连接信息,常用选项:

    ss -tuln  # 显示所有监听 TCP(-t)、UDP(-u)端口,不解析域名(-n)
    ss -an | grep ESTAB | wc -l  # 统计当前 ESTABLISHED 连接数
  2. iftop 命令
    实时监控网络带宽使用情况,显示各主机之间的流量,安装后使用 sudo iftop -i eth0 指定网卡,按 n 显示主机 IP,按 P 按流量排序。

  3. nethogs 命令
    按进程监控网络带宽,可快速定位占用高带宽的进程,安装后使用 sudo nethogs,按 q 退出。

  4. ping 命令
    测试网络连通性,ping -c 4 baidu.com 发送 4 个数据包,统计往返时间(RTT)和丢包率,判断网络延迟和稳定性。

系统综合监控工具

  1. dstat 命令
    整合了 vmstatiostatnetstat 等功能,可同时监控 CPU、内存、磁盘、网络、进程等资源,dstat -tcmndry 1 显示时间戳、CPU、内存、磁盘、网络、系统、CPU 使用率,每秒刷新。

  2. glances 命令
    跨平台监控工具,界面直观,通过颜色标注状态(绿色正常、红色警告),支持插件扩展,安装后运行 glances,按 a 查看所有信息,按 q 退出。

自动化监控与日志

通过 cron 定时执行监控脚本,结合 grepawk 分析日志(如 /var/log/messages/var/log/syslog),可及时发现异常,每小时检查磁盘使用率并报警:

0 * * * * df -h | awk 'NR>1 && int($5) > 80 {print "磁盘空间不足: "$6" 使用率 "$5}' | mail -s "磁盘告警" admin@example.com

相关问答 FAQs

Q1:如何快速定位导致 CPU 占用过高的进程?
A:可通过 top -p <PID>htop 找到 CPU 占用率最高的进程,记录其 PID;若为 Java 进程,可结合 jstack <PID> | grep <线程ID> 分析线程堆栈,定位具体代码问题;也可使用 pidstat -p <PID> -t 1 查看该进程各线程的 CPU 使用情况。

Q2:Linux 服务器内存持续升高,如何判断是否内存泄漏?
A:首先使用 free -h 观察可用内存(available)是否持续减少,buff/cache 是否不断增长;通过 smem -t 查看进程内存占用,定位可疑进程;进一步使用 cat /proc/<PID>/status 查看进程的 VmRSS(实际物理内存占用)和 VmSize(虚拟内存占用),若两者持续增长且不释放,可能存在内存泄漏;可通过 valgrind 工具(如 valgrind --leak-check=full ./程序)对程序进行内存泄漏检测。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/391851.html<

(0)
运维的头像运维
上一篇2025-10-10 21:54
下一篇 2025-10-10 22:01

相关推荐

  • Linux性能监控命令有哪些?

    Linux性能监控是系统管理和运维中的核心任务,通过命令行工具可以高效获取系统资源使用情况、进程状态及性能瓶颈,以下从CPU、内存、磁盘、网络及综合监控五个维度,详细介绍常用命令及其使用方法,CPU性能监控CPU是系统的核心,监控需关注使用率、负载、上下文切换及进程级占用情况,top – 实时进程级监控top以……

    2025-11-20
    0
  • Ubuntu如何安装ps命令?

    在Ubuntu系统中安装和使用ps命令是系统管理和日常运维中的基础操作之一,ps命令用于显示当前运行的进程状态,是Linux/Unix系统中最常用的工具之一,本文将详细介绍在Ubuntu系统中安装ps命令的方法、不同版本的兼容性、常用参数解析、实际应用场景以及常见问题解答,帮助用户全面掌握这一工具的使用,在Ub……

    2025-11-20
    0
  • PS消褪命令在哪?如何用?

    在Photoshop中,消褪命令是一个非常实用且强大的功能,它允许用户在执行了滤镜、绘画、色彩调整或其他操作后,通过调整不透明度、混合模式等参数,为操作添加渐变或局部淡化效果,从而实现更加自然、细腻的图像编辑,这一命令位于“编辑”菜单下(在执行操作后短暂时间内可用),相当于为上一步操作创建了一个可调节的“临时图……

    2025-11-20
    0
  • Linux显示进程命令有哪些?

    在Linux系统中,管理和监控进程是系统管理员和开发者的日常任务之一,Linux提供了多种命令来显示进程信息,这些命令各有特点,适用于不同的场景,本文将详细介绍常用的Linux显示进程命令,包括ps、top、htop、pgrep、pstree等,并通过表格对比它们的功能和用法,帮助读者根据需求选择合适的工具,p……

    2025-11-19
    0
  • Linux磁盘检查常用命令有哪些?

    在Linux系统中,磁盘管理是系统运维的重要环节,定期检查磁盘状态可以及时发现潜在问题,如空间不足、坏道、文件系统错误等,从而避免数据丢失或服务中断,Linux提供了多种命令用于检查磁盘,这些命令功能各异,适用于不同的场景,以下将详细介绍常用的磁盘检查命令,包括其基本用法、参数选项及实际应用案例,df命令是最常……

    2025-11-19
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注