Linux 进程管理工具top ps

概述

        topps 是 Linux 系统中两个非常重要的用于管理和监控进程的命令工具。以下是它们的主要功能和区别:

top:

动态视图:top 提供了一个实时动态更新的视图,能够持续显示系统中当前正在运行的进程信息及其资源占用情况。

系统性能监控:除了显示进程信息外,top 还可以显示系统的整体性能指标,如平均负载(uptime,load average)、CPU使用率(%CPU)、内存使用量(%MEM)等。

更新频率:默认情况下,top命令会定期(通常是3秒钟)刷新输出,更新进程列表和系统状态。 top -d 2

ps:

静态视图:ps 命令在执行瞬间提供一个进程状态的快照,它不会像 top 那样持续刷新,一次性输出指定时刻的进程信息。

详细信息:ps 可以列出大量的进程详细信息,包括进程ID(PID)、父进程ID(PPID)、进程状态、CPU利用率、内存占用、启动时间和命令行等。

定制化输出ps 支持多种参数组合,可以灵活定制输出格式和选择要显示的进程,例如通过 -ef 参数查看全部进程的详细信息,或者通过 -aux 查看系统中所有用户的进程等。

 1.top命令

 top命令的输出如下

  • 第一行:系统运行时间和平均负载

当前时间、系统已运行时间、当前登录用户的数量、最近5、10、15分钟内的平均负载

  • 第二行:任务

任务的总数、运行中(running)的任务、休眠(sleeping)中的任务、停止(stopped)的任务、僵尸状态(zombie)的任务

 

  • 第三行:cpu状态
字段字段释义
ususer: 运行(未调整优先级的) 用户进程的CPU时间
sysystem: 运行内核进程的CPU时间
niniced:运行已调整优先级的用户进程的CPU时间
ididle:空闲时间
waIO wait: 用于等待IO完成的CPU时间
hi处理硬件中断的CPU时间
si处理软件中断的CPU时间
st这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)
  • 第四行:内存

全部可用内存、已使用内存、空闲内存、缓冲内存

  • 第五行:swap

全部、已使用、空闲和缓冲交换空间

  • 第七行至N行:各进程任务的的状态监控
字段释义
PID进程ID,进程的唯一标识符
USER进程所有者的实际用户名
PR进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。
NI进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
VIRT

virtual memory usage 虚拟内存,进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES

resident memory usage 常驻内存,驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR

SHR:shared memory 共享内存

1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来

S

这个是进程的状态。它有以下不同的值:

  • D - 不可中断的睡眠态。
  • R – 运行态
  • S – 睡眠态
  • T – 被跟踪或已停止
  • Z – 僵尸态
%CPU自从上一次更新时到现在任务所使用的CPU时间百分比。%CPU显示的是进程占用一个核的百分比,而不是整个cpu(N核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心,所以有时候我们看该值得时候会超过100%,但不会超过总核数*100
%MEM进程使用的可用物理内存百分比
TIME+任务启动后到现在所使用的全部CPU时间,精确到百分之一秒
COMMAND运行进程所使用的命令。进程名称(命令名/命令行)

 2、交互命令

Z:改变颜色;B:加粗

t:显示和隐藏任务/cpu信息;m:内存信息

1:监控每个逻辑CPU的状况;

f:进入字段显示配置模式,可增加或者移除显示字段,按相应的字母新增或去除;o:进入字段顺序设置模式,可配置显示位置顺序,按相应的字母往下移动,按“shift+相应的字母”往上移动         ---------常用

F:进入字段排序配置模式,可设置排序的字段;

R:正常排序/反向排序;

s:设置刷新的时间--------常用

u:输入用户,显示用户的任务

i:忽略闲置和僵死进程。这是一个开关式命令。

r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。

c:切换显示命令名称和完整命令行。

M:根据驻留内存大小进行排序。-------------常用

P:根据CPU使用百分比大小进行排序。-----------常用

H:显示线程

3、常用参数与命令

d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。

p:通过指定监控进程ID来仅仅监控某个进程的状态。

top –p PID

-H: 设置线程模式

显示某个进程所有活跃的线程消耗情况

top -H -p pid

按f、再按j把P调出来,P代表”Last used CPU”

 4.进程查看ps

  • aux
    a:显示一个终端所有的进程
    u:显示进程的归属用户及内存使用情况
    x:显示没有关联控制终端的进程
  • axjf
    j:显示进程归属的进程组id、会话id、父进程id
    f:以ascii的形式显示出进程的层次关系

举例aux 

 

  • USER:进程是哪个用户产生的

  • PID:进程的身份证号码

  • %CPU:指进程对CPU的占用率

  • %MEM:进程占用内存的百分比

  • VSZ:进程使用虚拟内存的大小

  • RSS:进程使用物理内存的大小

  • TTY:进程关联的终端

  • STAT:进程当前状态

  • START:进程的启动时间

  • TIME:进程运行的时间

  • COMMAND:当前进程执行的是哪个程序

 举例axjf

PPID:当前进程父进程的id
PID:当前进程的id
PGID:当前进程所在的进程组的ID
SID:进程所在的会话的ID
TTY:进程所关联的终端
TPGID:判断进程是否为守护进程(-1则为守护进程)

STAT:进程当前状态
UID:用户ID,记录进程是哪个用户启动的
TIME:进程运行的时间
COMMAND:记录进程之间的层次关系(和上边不同)

使用场景

  • 关注进程本身,使用aux
  • 关注进程之间的关系,用axjf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓面试题多线程11-15

11. 如何使用thread dump?你将如何分析Thread dump?在UNIX中你可以使用kill -3,然后thread dump将会打印日志,在windows中你可以使用”CTRL+Break”。非常简单和专业的线程面试问题,但是如果他问你怎样分析它,就会很棘手。🚀🚀🚀🚀🚀🚀12. Java中你怎样唤醒一…

注意力机制 self-attention 的原理探究

一、点积的认识 向量的点积可以表示相似性的原因在于它衡量了两个向量之间的方向是否相似。当两个向量的方向趋于一致时,它们的点积会更大;当两个向量的方向趋于相互垂直时,它们的点积会接近于0。这种性质使得点积在衡量向量之间的相似性和相…

聚合函数和GROUP BY

1、聚合函数 1.1 聚合函数概念 聚合函数是用于对一组数值进行计算并返回单一数值作为结果的函数。在数据库查询中,它们通常用于对数据进行汇总和统计分析。常见的聚合函数包括 SUM、AVG、COUNT、MAX 和 MIN 等。 1.2 函数介绍 1.2.1 SUM(求和&#x…

Devops-02-Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件

拓展阅读 Devops-01-devops 是什么? Devops-02-Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件 代码质量管理 SonarQube-01-入门介绍 项目管理平台-01-jira 入门介绍 缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业…

ins中扰动分析举例

扰动分析很重要,搞明白扰动分析,基本上就可以清楚了误差模型。 什么是扰动分析: 简单理解 测量值 真值 误差 这里的误差就是与测量直接对应的误差,例如 把误差分离出来 误差 测量值 - 真值 &#xff…

如何在海外服务器上配置静态路由?

在海外服务器上配置静态路由可以通过操作系统提供的网络配置工具来实现。下面是在常见操作系统上配置静态路由的一般步骤: 在 Windows 上: 打开命令提示符:在开始菜单中搜索并打开“命令提示符”(或者以管理员身份运行)。 查看当前路由表&…

基于arm的ubuntu上运行qgc

个需要在基于arm的ubuntu上运行qgc的人: 总结如下 : 必须安装 flatpak 1.12.4 。 要安装 1.12.4,请在终端中运行以下命令: sudo add-apt-repository ppa:alexlarsson/flatpak sudo apt update sudo apt install flatpak flatpak …

Docker基本配置及使用

Docker基本配置及使用 使用步骤 1.卸载旧版 代码如下:首先如果系统中已经存在旧的Docker,则先卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engin…

网站首页添加JS弹屏公告窗口教程

很多小白站长会遇到想给自己的网站添加一个弹屏公告&#xff0c;用于做活动说明、演示站提示等作用与目的。 下面直接上代码&#xff1a;&#xff08;直接复制到网页头部、底部php、HTML文件中&#xff09; <script src"https://www.mohuda.com/site/js/sweetalert.m…

0基础学习VR全景平台篇第145篇:图层控件功能

大家好&#xff0c;欢迎观看蛙色VR官方——后台使用系列课程&#xff01;这期&#xff0c;我们将为大家介绍如何使用图层控件功能。 一.如何使用图层控件功能&#xff1f; 进入作品编辑页面&#xff0c;点击左边的控件后就可以在右边进行相应设置。 二.图层控件有哪些功能&am…

款海韵-650LX:电流参数是最大电流!

其实&#xff0c;在选择电源时&#xff0c;不需要担心峰值功率和额定功率。 您只需检查参数是否与您相应部件的功率匹配即可。 1.首先需要了解各个参数的含义。 电源上有5个电压参数&#xff0c;分别是12V、5V、3.3V、5VSB、-12V。 12V为CPU、显卡和机械硬盘的电机部分供电。 …

python中的excel操作

操作excel 在Python中&#xff0c;处理Excel文件的常用模块有xlrd、xlwt和openpyxl。以下是对这些模块的简要介绍&#xff1a; xlrd: xlrd是一个用于读取Excel&#xff08;.xls和.xlsx&#xff09;文件数据的库。它提供了方便的API来访问Excel文件中的工作表、行、列和单元格。…

Linux课程_____用户的管理

一、规则 用户至少属于一个组,在创建时如果不指定组,将会创建同名的组 用户只能有一个基本组(主组),但可以隶属于多个附加组 如果一个组作为某用户的基本组,此组将不能被删除 UID: 用户标识 GID: 组的标识 root管理员的uid及gid 都为0 二、用户的配置文件 1./etc/passwd …

3/19作业

select实现的TCP并发服务器 #include <myhead.h> #define SER_PORT 8888 #define SER_IP "192.168.47.130"int main(int argc, const char *argv[]) {int sfd -1;sfd socket(AF_INET,SOCK_STREAM,0);if(sfd -1){perror("socket");return -1;}pri…

resize-observer源码解读

resize-observer github 地址&#xff1a;https://github.com/devrelm/resize-observer 本地启动 npm installnpm startnode 18.16.0 (npm 9.5.1) 启动失败报错 node:internal/crypto/hash:71this[kHandle] new _Hash(algorithm, xofLen);^Error: error:0308010C:digital …

深入挖掘C语言之——枚举

目录 1. 枚举的定义 2. 枚举常量的赋值 3. 枚举的使用示例 4. 注意事项 在C语言中&#xff0c;枚举&#xff08;Enum&#xff09;是一种用户定义的数据类型&#xff0c;用于定义一组具名的整型常量。枚举常常用于提高代码的可读性和可维护性&#xff0c;使程序更易于理解。…

【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试之【模拟】2023C-攀登者2【欧弟算法】全网注释最详细分类最全的华为OD真题题解

有LeetCode算法/华为OD考试扣扣交流群可加 948025485 可上全网独家的 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1336了解算法冲刺训练 文章目录 题目描述与示例题目描述输入描述输出描述 示例输入输出 解题思路原路返回和非原路返回原路返回走过的总路程从左边空地出…

流畅的Python(二十一)-类元编程

一、核心要义 1.类元编程时指在运行时创建或定制类的技艺 2.类是一等对象,因此任何时候都可以使用函数新建类&#xff0c;而无需使用class关键字 3.类装饰器也是函数&#xff0c;不过能够审查、修改&#xff0c;甚至把被装饰的类替换为其它类。 4.元类(type类的子类)类编程…

FDU 2019 | 3. 有向树形态

文章目录 1. 题目描述2. 我的尝试1. 卡特兰数2. 动态规划 1. 题目描述 求 N 个结点能够组成的二叉树的个数。 输入格式 一个整数 N 。 输出格式 输出能组成的二叉树的个数。 数据范围 1 ≤ N ≤ 20 1≤N≤20 1≤N≤20 输入样例 3输出样例 52. 我的尝试 1. 卡特兰数 直接…