Linux怎么查看正在运行的进程的CPU和内存使用率?

系统 Linux
本文主要介绍了Linux怎么使用top命令查看正在运行的进程。希望本文能帮助您更好地理解如何使用这个命令。

前言

大多数linux进程(即使没有明确运行)都在后台运行,以提供服务,并为用户调用所执行的应用程序做好准备。

在linux中,有一个命令允许您查看系统中的资源是如何使用(或浪费)的,我想快速解释一下如何监视运行在您机器上的进程。

统一查看正在运行进程的命令行工具-top

答案很简单,有一个简单的linux命令可以让您精确地查看正在计算机上运行的进程,以及内存使用情况、CPU消耗和有关使用的交换内存的详细信息。它可以从您最喜欢的shell访问。

该命令是top,它允许您查看机器中当时正在发生的事情,更一般地说是您的系统状态,包括正在运行的进程。

  1. top 

你将会看到以下输出结果:

Linux怎么查看正在运行的进程的CPU和内存使用率?

Linux怎么查看正在运行的进程

好了,正在运行的进程状态已经显示出来了,怎么看这个结果呢?

开始的时候输出可能会让人感到困惑,请查看下面的说明,以便更好地理解正在运行的进程状态。

1. 系统正常运行时间和系统平均负载

第一行显示了系统的正常运行时间,即系统运行了多少小时或几天

  1. top - 12:45:10 up 9 days, 20:11, 1 user, load average: 0.00, 0.01, 0.05 

比如,正在运行的状态显示以下:

  • 12:45:10 当前时间
  • 9 days, 20:11 系统启动运行的时间
  • 1 user 表示有1个用户正在使用系统
  • 接下来的3个值显示了最后1分钟/5分钟/15分钟的平均负载:0.00, 0.01, 0.05

2. 监控任务状态

第二行提供关于系统中实际加载的进程状态的信息

  1. Tasks: 133 total, 1 running, 132 sleeping, 0 stopped, 0 zombie 

基本上,数字附近的单词是任务的当前状态。

Linux怎么查看正在运行的进程占用的CPU

第三行代表系统中CPU状态的简要概述。

  1. %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 s 

每个参数表示cpu状态的不同指示符,简单来说,这就是它们的含义:

  • us 用户CPU时间——CPU占用用户运行的进程的时间
  • sy 系统CPU时间—与我们相似,但是它定义了运行linux内核和相关进程所花费的时间
  • ni nice CPU时间——当使用nice命令进行优先级排序时,它指示CPU运行这些进程所花费的时间。
  • wa I/O等待——表示当I/O操作完成时,CPU必须等待的时间。
  • hi 硬件IRQ——CPU为硬件中断服务所花费的时间
  • si 软件中断——类似于hi,但它指的是软件中断
  • st 偷取时间——由于每个现代CPU都支持虚拟化,所以这个索引指的是管理程序偷取的CPU数量,用于执行运行虚拟机之类的任务。

怎么查看内存使用率,物理和交换空间

下面两行代码概述了系统中物理内存和交换内存的内存状态。

由于现代系统大量使用缓存,您将更有可能经常看到物理内存几乎被占满了。

相反,当物理内存不能处理更多的东西时,交换空间是一种“备份”,因此它被迫在磁盘上写东西以避免丢失。如果交换空间的使用高,这是一个清楚的警告,表明某些事情没有按照预期进行。

这一行是指物理内存:

  1. KiB Mem : 4026096 total, 277300 free, 1235948 used, 2512848 buff/cache 

下一行就是给出交换内存的信息

  1. KiB Swap: 0 total, 0 free, 0 used. 2252720 avail Mem 

好了,我们的想查看的进程在哪里?

在这里,前面几行之外的列表表示在您的系统上正在运行的进程、守护进程和服务的列表,每一行都带有关于单个进程的变量说明。以下是我的查看记录:

  1. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND  
  2. 1598 mysql 20 0 1642980 190732 9364 S 0.3 4.7 22:05.24 mysqld  
  3. 1788 root 20 0 162012 2300 1612 R 0.3 0.1 0:00.07 top  
  4. 76024 root 39 19 350308 8964 4192 S 0.3 0.2 9:48.53 bcm-si 
  5. 1 root 20 0 191000 3904 2584 S 0.0 0.1 2:46.70 systemd 

以上输出结果提供了关于在您的系统上正在运行的进程的各种信息,稍后我将尝试向您解释这些信息。

  • PID – 进程的ID号
  • USER – 显示用户正在运行的进程
  • PR – 此指示符显示进程优先级,如果您在输出结果中看到“rt”表示进程具有实时优先级,则此指示符用于系统进程。
  • NI – 指示是否使用命令nice来增强给定进程的优先级。
  • VIRT – 指进程使用的虚拟内存的数量,这意味着它在内存中存储数据、库和交换的页面
  • RES – 物理内存上有多少进程处于“RES”状态
  • SHR – 指示为进程共享的内存段的大小
  • S – 当前正在运行的进程的状态
  • %CPU – 共享cpu运行给定正在运行进程所花费的时间百分比
  • %MEM – 正在运行的进程使用的物理内存的百分比
  • %TIME+ – cpu运行给定正在运行的进程所花费的总时间
  • COMMAND – 用于初始化进程的命令

我该怎么处理这些信息呢?

收集到这些正在运行的进程信息后,这些信息将帮助您排除各种问题,比如内存/CPU/泄漏、OOM错误,或者仅仅是了解当时正在运行的进程。

当然,你可以结合grep命令过滤和定制你想要看的内容,比如

  1. top |grep NI 

总结

本文主要介绍了Linux怎么使用top命令查看正在运行的进程。希望本文能帮助您更好地理解如何使用这个命令。

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2022-04-06 06:35:58

进程命令CPU

2017-05-03 11:10:14

Linux进程监控cpustat

2011-01-26 13:26:32

Linux进程

2014-12-01 13:44:03

cgroupscpulimitlinux

2024-04-11 13:27:19

Linuxtop命令

2023-02-16 08:38:47

2019-01-15 15:04:54

CPU电脑使用率

2009-12-15 15:12:05

Linux限制进程cp

2019-07-31 07:26:16

Linux服务器CPU

2018-08-14 17:00:17

Linux命令服务

2023-11-28 15:19:00

Linux运维btop命令

2021-08-10 11:45:57

topCPULinux

2021-05-31 15:53:57

CPU Top命令

2009-12-22 09:23:59

Linux Sysst

2020-07-08 07:00:00

LinuxCPU应用程序

2023-09-27 23:32:46

Python监控进程

2019-03-07 09:25:59

LinuxCPU交换分区

2009-11-16 17:03:20

Oracle优化CPU

2019-01-28 10:23:58

CPU使用率Linux

2017-03-23 19:27:55

LinuxCPUCPU利用率
点赞
收藏

51CTO技术栈公众号