Linux服务器性能监控:使用 top 指令实时查看进程和系统资源

一、什么是 top 指令

top 是 Linux 系统下常用的性能监控工具,它用于以实时方式显示系统总体运行情况及各个进程的资源占用情况。通过 top 指令,可以快速了解系统的运行状态,察看 CPU、内存、I/O 等关键性能指标,以及了解每个进程的 CPU、内存、线程等占用情况,帮助我们及时发现系统异常情况。

二、如何使用 top 指令

下面我们以 CentOS 系统为例,介绍 top 指令的使用方法:

$ top

top 会按照资源使用率从高到低的顺序显示当前系统运行的进程,每个进程都会展示 CPU 占用率、内存占用率、运行状态、运行时间、进程 ID 等信息。我们可以看到最上面的几条记录,它们是 CPU、内存、swap 的概略信息:

top - 05:38:19 up 2 days,  2:33,  1 user,  load average: 2.55, 2.35, 2.15
Tasks: 389 total,   8 running, 381 sleeping,   0 stopped,   0 zombie
%Cpu(s): 15.6 us,  1.9 sy,  0.0 ni, 79.8 id,  2.6 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem : 16064896 total,  7399676 free,  5780848 used,  2885372 buff/cache
KiB Swap:  1048572 total,   992836 free,    55192 used.  8841872 avail Mem

其中:

  • load average 表示系统的负载;
  • Task 表示进程数量;
  • %Cpu(s) 表示 CPU 的使用情况;
  • KiB Mem 表示内存使用情况。

除了上面的系统概况外,top 指令还会列出各进程的实时 CPU、内存等资源占用情况:

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1244 root      20   0 36.075g 2.983g  16012 S 281.2 19.0  27:45.86 java
20850 root      20   0  0.390t 1.298g  27200 S  43.8  8.3 423:27.65 java
19128 mysql     20   0 538.5m  92.8m  12148 S  17.2  0.6 709:49.90 mysqld
25151 nginx     20   0  159488  27572   4364 R   7.3  0.2   0:00.09 php-fpm
   23 root      20   0       0      0      0 S   1.3  0.0  13:23.38 ksoftirqd/2

其中每一列的含义如下:

  • PID:进程 ID;
  • USER:运行进程的用户;
  • %CPU:进程占用 CPU 资源的百分比;
  • %MEM:进程占用内存资源的百分比;
  • TIME+:进程运行的时间。

我们还可以通过一些快捷键改变 top 界面的显示内容,例如:

  • 输入 P,将根据 CPU 百分比大小降序排列进程;
  • 输入 M,将根据内存占用大小降序排列进程。

三、top 命令的常用选项

top 指令有一些比较常用的参数,下面我们来介绍一些常用的参数:

1、-d/–delay=秒数

此选项指定 top 每次更新的时间间隔,默认为 5 秒。

2、-n/–iterations=次数

此选项指定 top 的更新次数,例如,top -n 3 将输出 top 的前三次更新结果。

3、-p/–pid=进程号

此选项指定 top 只显示指定进程 ID 的信息,进程 ID 以逗号分隔,例如,top -p 1234,5678 显示进程 ID 为 1234 和 5678 的进程信息。

四、top 命令的实战使用

在实际运维工作中,top 指令是非常常用的,下面我们以一些例子来介绍 top 在实战中的使用。

1、查看进程占用 CPU 资源最高的前 10 条记录

top -bn 1 -o %CPU | head -n 17

此命令将会输出 CPU 占用率最高的前 10 个进程。

2、实时监控某个进程的占用情况

top -p 进程ID -d 5

此命令将会每隔 5 秒刷新一次进程 ID 为指定ID的进程占用信息。

3、查看指定用户运行的进程

top -U 用户名

此命令将会输出用户名下的所有进程占用情况。

4、查看系统的负载情况

top -bn 1 | grep "load average:"

此命令将会输出系统的负载情况。

五、小结

top 指令是 Linux 系统下非常实用的性能监控工具,其可以帮助我们快速定位进程资源占用较高的原因,从而优化系统的运行。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/150947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-10 01:11
下一篇 2024-11-10 01:11

相关推荐

  • 如何优化 Git 性能和重构

    本文将提供一些有用的提示和技巧来优化 Git 性能并重构代码。Git 是一个非常流行的版本控制系统,但是在处理大型代码仓库时可能会有一些性能问题。如果你正在处理这样的问题,本文将会…

    编程 2025-04-29
  • 如何通过jstack工具列出假死的java进程

    假死的java进程是指在运行过程中出现了某些问题导致进程停止响应,此时无法通过正常的方式关闭或者重启该进程。在这种情况下,我们可以借助jstack工具来获取该进程的进程号和线程号,…

    编程 2025-04-29
  • 使用@Transactional和分表优化数据交易系统的性能和可靠性

    本文将详细介绍如何使用@Transactional和分表技术来优化数据交易系统的性能和可靠性。 一、@Transactional的作用 @Transactional是Spring框…

    编程 2025-04-28
  • Python性能优化方案

    本文将从多个方面介绍Python性能优化方案,并提供相应的示例代码。 一、使用Cython扩展 Cython是一个Python编译器,可以将Python代码转化为C代码,可显著提高…

    编程 2025-04-28
  • Python AUC:模型性能评估的重要指标

    Python AUC是一种用于评估建立机器学习模型性能的重要指标。通过计算ROC曲线下的面积,AUC可以很好地衡量模型对正负样本的区分能力,从而指导模型的调参和选择。 一、AUC的…

    编程 2025-04-28
  • Python性能分析: 如何快速提升Python应用程序性能

    Python是一个简洁高效的编程语言。在大多数情况下,Python的简洁和生产力为开发人员带来了很大便利。然而,针对应用程序的性能问题一直是Python开发人员需要面对的一个难题。…

    编程 2025-04-27
  • Java中的僵尸进程简介与解决方法

    本文将对Java中的僵尸进程进行详细阐述,并给出几种解决方法。 一、僵尸进程的概念 在操作系统中,进程是指正在执行的程序。当一个进程创建了一个子进程,而该子进程完成了任务却没有被父…

    编程 2025-04-27
  • 多线程和多进程的应用

    多线程和多进程是现代编程中常用的技术,可以提高程序的效率和性能。本文将从不同的角度对多线程和多进程进行详细的介绍和应用。 一、多线程 vs 多进程 多线程和多进程都是为了实现程序并…

    编程 2025-04-27
  • Python多进程读取数据

    本文将从多个方面详细阐述在Python中如何通过多进程读取数据,并给出完整的代码示例。 一、多进程概述 在计算机科学中,进程是正在执行的程序实例。多进程是指计算机系统同时执行多个进…

    编程 2025-04-27
  • 进程a与进程b共享变量s1

    本文将从多个方面对进程a与进程b共享变量s1做详细的阐述,并给出代码示例。 一、定义全局变量s1 进程a与进程b共享变量s1,意味着s1是一个全局变量。在C语言中,可以使用关键字e…

    编程 2025-04-27

发表回复

登录后才能评论