linux如何查看系统各项指标命令

 更新时间:2025年01月10日 09:12:41   作者:定位问题才是真正的技术活算法就是真言  
文章详细介绍了在Linux系统中查看系统各项指标和Java程序运行状态的常用命令,并提供了顺口溜帮助记忆这些命令

linux查看系统各项指标命令

在 Linux 系统中,查看系统各项指标(如 CPU 使用率、内存使用、磁盘使用、网络状态等)可以通过以下常用命令来实现:

1. 查看 CPU 使用率

top

  • 实时显示系统的总体运行状况,包括 CPU、内存使用情况和各个进程的信息。
  • 1 键可以显示每个 CPU 核心的使用情况。

htop

  • top 的增强版本,提供更友好的界面和更多的功能(需要安装)。

mpstat

  • 显示各个 CPU 的使用情况,通常与 sysstat 工具包一起使用。
  • 示例:mpstat -P ALL 1 显示每个 CPU 核心每秒的使用情况。

2. 查看内存使用情况

free -h

  • 显示系统的内存使用情况,包括总量、已用、空闲和交换分区使用情况。
  • -h 选项表示以人类可读的格式显示数据(例如:MB、GB)。

vmstat

  • 显示系统的内存、交换分区和 CPU 资源的综合统计信息。
  • 示例:vmstat 1 5 每秒输出一次系统状态,持续 5 秒。

3. 查看磁盘使用情况

df -h

  • 显示文件系统的磁盘空间使用情况,包括每个分区的总容量、已用、可用空间。
  • -h 选项表示以人类可读的格式显示数据。

du -sh *

  • 显示指定目录下每个文件或子目录的磁盘使用情况,总结输出。
  • -s 表示总结,-h 表示以人类可读格式显示。

iostat

  • 显示磁盘设备的 I/O 统计信息,通常与 sysstat 工具包一起使用。
  • 示例:iostat -x 1 每秒显示一次详细的 I/O 统计信息。

4. 查看网络状态

ifconfigip addr

  • 显示网络接口的配置信息
  • 包括 IP 地址、子网掩码等

netstat -tuln

  • 显示系统当前打开的端口和监听状态
  • 包括 TCP 和 UDP 端口

ss -tuln

  • netstat 的更快替代品
  • 显示打开的端口和监听状态

ping

  • 检查网络连通性。
  • 示例:ping google.com 测试到 Google 的连通性。

traceroute

  • 跟踪数据包从本地机器到目标地址的路径。
  • 示例:traceroute google.com

5. 查看系统负载

uptime

  • 显示系统的运行时间和平均负载(load average)。

tophtop

  • 实时显示系统负载信息。

sar

  • 系统活动报告,可以记录和回放负载数据,通常与 sysstat 工具包一起使用。

6. 查看进程信息

ps aux

  • 显示系统上当前运行的所有进程及其详细信息。

tophtop

  • 实时显示系统的进程及其 CPU、内存占用情况。

pstree

  • 以树状结构显示进程及其父子关系。

心得

这些命令提供了关于系统各项指标的全面视图,是日常运维和问题排查的基本工具。在需要持续监控时,还可以结合 watch 命令来定时刷新命令输出,例如:watch -n 1 df -h

这里有一个顺口溜,帮你快速记住用于查看 Linux 系统各项指标的命令:

  • top查整体CPU忙, 
  • htop界面更友好; 
  • mpstat核用量,
  • 各项数据看得清。
  • free查内存,vmstat更全面;
  • 磁盘空间df亮,du查看文件行; 
  • iostat查I/O忙, 
  • ifconfig配网络,netstat端口全。
  • uptime查负载, 
  • sar可回放, 
  • ps aux查进程, 
  • pstree父子现。

这些命令一个个,顺口溜里记得牢,运维管理少烦恼!

在 Linux 系统中,要查看 Java 程序的运行状态,可以使用以下几种常用命令,帮助你判断 Java 程序是否挂起或正在正常运行:

1. 使用 ps 命令

查看 Java 进程

使用 ps 命令可以列出当前正在运行的 Java 进程。

示例:ps aux | grep java

输出示例:

user      1234  0.0  2.1 561234 45123 ?        Sl   08:30   0:01 java -jar your-application.jar

这个命令会显示包含 java 字样的所有进程。检查进程的 CPU 和内存使用情况(特别是 %CPU%MEM 列),如果它们为零且进程长时间没有任何输出,程序可能已经挂起。

2. 使用 top 或 htop 命令

实时监控 Java 进程

  • 运行 tophtop 命令,然后按下 M 键可以按内存使用排序,或按 P 键按 CPU 使用排序。
  • 在列表中查找 java 进程,观察其 CPU 和内存使用情况。
  • 如果发现 Java 进程的 CPU 使用率为 0%,并且内存使用稳定,可能表明程序处于挂起状态。

3. 使用 jps 命令

列出所有 Java 进程

jps 是 Java 自带的工具,用于列出当前正在运行的 Java 进程及其主类名。

示例:jps -l

输出示例:

1234 your.package.MainClass

通过 jps 可以快速确认 Java 应用是否在运行,但它不能直接判断进程是否挂起。

4. 使用 jstack 命令

查看 Java 线程堆栈

  • jstack 可以生成 Java 进程的线程堆栈信息,适用于检查是否有死锁或挂起的线程。
  • 示例:jstack <pid>,其中 <pid> 是 Java 进程的进程 ID(可以通过 psjps 获取)。
  • 检查输出,寻找可能的死锁或线程长时间等待的迹象。

5. 使用 jstat 命令

监控 JVM 性能

  • jstat 可以监控 JVM 的内存使用、垃圾回收活动等信息,帮助判断 Java 应用的健康状况。
  • 示例:jstat -gc <pid> 显示 GC(垃圾回收)统计信息,帮助分析程序是否由于内存问题而挂起。

6. 使用 netstat 命令

检查 Java 程序的网络连接

  • 如果 Java 程序涉及网络通信,可以使用 netstat 查看其网络连接状态。
  • 示例:netstat -anp | grep java 查看与 Java 进程相关的所有网络连接,确认它们是否正常(如是否存在大量 CLOSE_WAIT 状态的连接)。

7. 检查日志

查看 Java 应用的日志

检查应用程序的日志文件(如 application.logerror.log),查看是否有错误或异常堆栈信息,这往往可以直接指示程序挂起的原因。

心得

要判断一个 Java 程序是否挂起,可以结合使用 ps, top/htop, jps, jstack, jstat 等工具,观察进程的状态、CPU 和内存使用情况、线程堆栈,以及日志文件中的错误信息。这些方法可以帮助你快速确认 Java 程序是否挂起以及可能的原因。

这里有一个顺口溜,帮你快速记住用于查看 Linux 上 Java 程序运行状态的命令:

  • ps查进程grep找, 
  • top看负载不停跑; 
  • jps列出Java名, 
  • jstack堆栈查异常; 
  • jstat监控GC忙, 
  • netstat连通状态全;
  • 查日志看程序故障,
  • 综合分析就不慌!

这个顺口溜包含了所有提到的命令,并且顺序对应,方便记忆。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在Linux命令行中解析JSON的详细步骤

    在Linux命令行中解析JSON的详细步骤

    JQ 是一个通用的 Linux 命令行 JSON 处理器,它允许开发人员快速地解析、过滤和转换 JSON 数据,在本文中,我们将介绍常用的 JQ 命令,展示如何简化 JSON 处理任务,需要的朋友可以参考下
    2025-11-11
  • Linux使用tcpdump捕获网络数据包的详细步骤

    Linux使用tcpdump捕获网络数据包的详细步骤

    在网络故障排查、协议分析或网络安全检测中,抓包工具是不可或缺的"利器",而tcpdump作为Linux系统中历史最悠久、功能最强大的命令行抓包工具,至今仍是工程师的首选,本文将从基础操作到实战技巧,带你掌握用tcpdump捕获网络数据包的完整流程,需要的朋友可以参考下
    2025-08-08
  • Ubuntu中Nginx的安装与配置详细说明

    Ubuntu中Nginx的安装与配置详细说明

    本篇文章小编为大家介绍,Ubuntu中Nginx的安装与配置详细说明。需要的朋友参考下
    2013-04-04
  • 解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误

    解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误

    昨日,有朋友问我,他将Web服务器换成Nginx 0.6.31 + PHP 4.4.7(FastCGI)后,有时候访问会出现“502 Bad Gateway”错误,如何解决。
    2008-12-12
  • CentOS系统Maven安装教程分享

    CentOS系统Maven安装教程分享

    本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的构建、报告和文档
    2025-02-02
  • Linux USB驱动注册方式

    Linux USB驱动注册方式

    USB驱动通过structusb_driver注册,填充name、probe、disconnect和id_table字段,插入时触发设备匹配与初始化,拔出时清理资源并解绑驱动,实现设备动态管理
    2025-07-07
  • linux环境下安装 openOffice 并启动服务 的方法

    linux环境下安装 openOffice 并启动服务 的方法

    这篇文章主要介绍了linux环境下安装 openOffice 并启动服务 的方法,需要的朋友可以参考下
    2018-06-06
  • cloudstack下libvirtd服务无响应问题

    cloudstack下libvirtd服务无响应问题

    这篇文章主要介绍了cloudstack下libvirtd服务无响应问题的相关资料,需要的朋友可以参考下
    2016-10-10
  • deepin20 安装英伟达闭源驱动的步骤详解

    deepin20 安装英伟达闭源驱动的步骤详解

    这篇文章主要介绍了deepin20 安装英伟达闭源驱动的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Linux中selinux基础配置教程详解

    Linux中selinux基础配置教程详解

    SELinux(Security-Enhanced Linux)的简单配置,涉及SELinux的工作模式、配置文件修改、查看和修改上下文信息,以及恢复文件或目录的上下文信息。这篇文章主要介绍了Linux中selinux基础配置,需要的朋友可以参考下
    2018-11-11

最新评论