Linux Top命令:监控系统进程资源占用情况

一、Top命令介绍

Top命令是Linux系统下的一款进程管理工具,它能够动态地查看系统进程的资源占用情况,包括CPU占用率、内存占用率、磁盘IO等。

Top命令可以按照CPU占用率、内存占用率、进程ID等排序方式展示系统进程,通过Top命令可以快速定位到CPU、内存、IO等资源占用过高的进程,为系统管理员提供了一个方便的管理工具。

二、Top命令参数

Top命令的常用参数如下:

top -d time    #指定刷新时间,默认为3s
top -u user    #指定用户
top -p pid     #指定进程ID
top -H         #展示线程信息
top -b         #以批处理模式运行
top -i         #不显示闲置进程

三、查看系统进程资源占用情况

1. 查看系统CPU占用率

top -d 2 -b -n 1 | grep Cpu

该命令将以批处理模式运行Top命令,每2秒刷新一次,执行1次后退出,通过grep命令过滤出CPU信息。结果如下:

Cpu(s):  4.1%us,  1.0%sy,  0.0%ni, 93.9%id,  0.3%wa,  0.0%hi,  0.0%si,  0.7%st

其中,us表示用户进程占用CPU的百分比,sy表示系统进程占用CPU的百分比,ni表示进程优先级变化占用CPU的百分比,id表示CPU闲置的百分比,wa表示IO等待占用CPU的百分比,hi表示处理硬件中断占用CPU的百分比,si表示处理软件中断占用CPU的百分比,st表示虚拟机丢失占用CPU的百分比。

2. 查看系统内存占用情况

top -d 2 -b -n 1 | grep Mem

该命令将以批处理模式运行Top命令,每2秒刷新一次,执行1次后退出,通过grep命令过滤出内存信息。结果如下:

KiB Mem :  4029820 total,  3516656 free,   157748 used,   354416 buff/cache

其中,total表示总内存,free表示空闲内存,used表示占用内存,buff/cache表示缓存使用内存。

3. 查看系统磁盘IO

top -d 2 -b -n 1 | grep 'io\|sda\|sdb'

该命令将以批处理模式运行Top命令,每2秒刷新一次,执行1次后退出,通过grep命令过滤出IO信息。结果如下:

KiB Wrtn/s:    18.63
KiB Rd/s:      18.63

其中,Wrtn表示写入速率,Rd表示读取速率。

四、Top命令操作

1. 切换排序方式

在Top命令界面下,可以通过按下以下按键切换排序方式:

P:按CPU使用率排序
M:按内存使用率排序
T:按时间/累计时间排序

2. 进程操作

在Top命令界面下,可以通过按下以下按键操作进程:

k:强制终止进程
r:修改进程优先级
u:进程列表切换用户名模式
z:进程列表开启或关闭颜色显示模式
c:显示进程的完整命令

五、Top命令输出格式

Top命令输出格式如下:

top - 23:23:23 up  2:53,  1 user,  load average: 0.40, 0.48, 0.39
Tasks: 306 total,   2 running, 303 sleeping,   0 stopped,   1 zombie
%Cpu(s):  4.0 us,  1.0 sy,  0.0 ni, 93.9 id,  0.3 wa,  0.0 hi,  0.0 si,  0.7 st
MiB Mem :  4029.1 total,  3516.2 free,   147.1 used,   365.7 buff/cache
MiB Swap:     0.0 total,     0.0 free,     0.0 used.  3782.7 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                     
19714 root        20   0 3737888 2.088g   2264 S   1.7 53.9  10:26.25 java                                                        
16253 root        20   0  862836  18.8m  55188 S   0.7  0.5   2:30.27 vmtoolsd                                                    
    1 root        20   0  195260   6196   4100 S   0.3  0.2   0:06.15 systemd                                                     
    2 root        20   0       0      0      0 S   0.3  0.0   0:01.92 kthreadd                                                    

输出格式可以分为以下几列:

第一列:进程ID
第二列:用户
第三列:进程优先级
第四列:进程虚拟内存占用量
第五列:进程实际内存占用量
第六列:进程共享内存占用量
第七列:进程所在CPU核心
第八列:进程占用CPU百分比
第九列:进程占用内存百分比
第十列:占用CPU的时间
第十一列:进程命令

六、总结

Top命令是Linux系统下非常有用的进程管理工具,通过Top命令可以动态地查看系统进程的资源占用情况,快速定位到资源占用过高的进程并进行管理。此外,Top命令还具备批处理、排序、操作、输出格式等多种功能,为系统管理员的工作提供了很大的方便。

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

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

相关推荐

  • 如何通过jstack工具列出假死的java进程

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

    编程 2025-04-29
  • Python命令大全及说明

    Python是一种高级编程语言,由Guido van Rossum于1989年底发明。它具有良好的语法结构和面向对象的编程思想,具有简洁、易读、易学的特点,是初学者以及专业开发人员…

    编程 2025-04-29
  • Git config命令用法介绍:用正确的邮箱保障开发工作

    本文将详细介绍如何使用git config命令配置Git的全局和本地用户信息,特别是如何正确使用用户邮箱,保障Git操作的正常进行。 一、git config命令介绍 Git中的每…

    编程 2025-04-29
  • Python SSH 远程执行命令

    Python SSH 远程执行命令是指在一个服务器上执行远程另一个服务器上命令。如果你需要在本地机器上执行命令,或者在远程机器上执行本地命令,你都可以使用 SSH。在 Python…

    编程 2025-04-29
  • 剖析命令执行函数

    在编程开发过程中,命令执行函数是非常常见的一个概念。它是指接受一个命令字符串,并将其解析执行,返回相应的结果或错误信息的函数。本文将从多个方面对命令执行函数进行详细的阐述,包括其定…

    编程 2025-04-28
  • 如何使用Python执行Shell命令并获取执行过程信息

    本文将介绍如何使用Python执行Shell命令并获取执行过程信息。我们将从以下几个方面进行阐述: 一、执行Shell命令 Python内置的subprocess模块可以方便地执行…

    编程 2025-04-28
  • Python中获取用户输入命令的方法解析

    本文将从多个角度,分别介绍Python中获取用户输入命令的方法,希望能够对初学者有所帮助。 一、使用input()函数获取用户输入命令 input()是Python中用于获取用户输…

    编程 2025-04-27
  • 如何开发一个网络监控系统

    网络监控系统是一种能够实时监控网络中各种设备状态和流量的软件系统,通过对网络流量和设备状态的记录分析,帮助管理员快速地发现和解决网络问题,保障整个网络的稳定性和安全性。开发一套高效…

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

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

    编程 2025-04-27
  • Python3 执行 cmd 命令用法介绍

    本文将详细讲解如何使用Python3执行cmd命令,包括使用subprocess模块、os模块、Popen方法、system方法等多个方面的实现方法。 一、使用subprocess…

    编程 2025-04-27

发表回复

登录后才能评论