【Linux命令】top linux下的任务管理器

一、概述

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用、内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

二、具体使用

$top
top - 10:22:48 up 152 days, 20:25,  2 users,  load average: 0.24, 0.29, 0.34
Tasks: 108 total,   1 running, 107 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.8 us,  2.1 sy,  0.0 ni, 93.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3688712 total,   193148 free,  2422560 used,  1073004 buff/cache
KiB Swap:  3929680 total,  2163980 free,  1765700 used.   951672 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                  1811 root      10 -10  175936  37612   4176 S   5.3  1.0   7227:49 AliYunDunMonito                                                                                                          6597 root      20   0 3624088 454092   6772 S   4.3 12.3 345:38.03 java                                                                                                                     1678 admin     20   0 3429664 768524  17308 S   3.0 20.8  11475:06 java                                                                                                                     1800 root      10 -10  113488   5888   3952 S   1.7  0.2   1311:12 AliYunDun                                                                                                                
23841 polkitd   20   0 2800188  37596   1028 S   1.3  1.0   1207:32 mysqld                                                                                                                   
23070 polkitd   20   0 2889992 392048   7676 S   1.0 10.6 993:37.55 mysqld                                                                                                                   1021 root      20   0 1374488  39624   5736 S   0.7  1.1 414:17.19 dockerd             

第一行

  • 09:14:56 : 系统当前时间
  • 264 days, 20:56 : 系统开机到现在经过了多少时间
  • 1 users : 当前2用户在线
  • load average: 0.02, 0.04, 0.00: 系统1分钟、5分钟、15分钟的CPU负载信息

第二行

  • Tasks:任务;
  • total:很好理解,就是当前的进程数。
  • running:正在运行的进程数
  • sleeping:睡眠的进程数
  • stopped:停止的进程数
  • zombie:僵死的进程数

第三行

  • Cpu(s):表示这一行显示CPU总体信息
  • us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。
  • sy:内核占用CPU时间百分比
  • ni:改变过优先级的进程占用CPU的百分比
  • id:空闲CPU时间百分比
  • wa:等待I/O的CPU时间百分比
  • hi:CPU硬中断时间百分比
  • si:CPU软中断时间百分比

注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;

第四行

  • Men:内存的意思
  • total:物理内存总量
  • used:使用的物理内存量
  • free:空闲的物理内存量
  • buffers:用作内核缓存的物理内存量

第五行

  • Swap:交换空间
  • total:交换区总量
  • used:使用的交换区量
  • free:空闲的交换区量
  • cached:缓冲交换区总量

进程信息

再下面就是进程信息:

  • PID:进程的ID
  • USER:进程所有者
  • PR:进程的优先级别,越小越优先被执行
  • NInice:值
  • VIRT:进程占用的虚拟内存
  • RES:进程占用的物理内存
  • SHR:进程使用的共享内存
  • S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  • %CPU:进程占用CPU的使用率
  • %MEM:进程使用的物理内存和总内存的百分比
  • TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  • COMMAND:进程启动命令名称

三、top命令交互操作指令

下面列出一些常用的 top命令操作指令

  • q:退出top命令
  • <Space> :立即刷新
  • s:设置刷新时间间隔
  • c:显示命令完全模式
  • t: 显示或隐藏进程和CPU状态信息
  • m:显示或隐藏内存状态信息
  • l:显示或隐藏uptime信息
  • f:增加或减少进程显示标志
  • S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
  • P:按%CPU使用率排行
  • T:按MITE+排行
  • M:按%MEM排行
  • u:指定显示用户进程
  • r:修改进程renice值
  • kkill:进程
  • i:只显示正在运行的进程
  • W:保存对top的设置到文件^/.toprc,下次启动将自动调用toprc文件的设置。
  • h:帮助命令。
  • q:退出

注:强调一下,使用频率最高的是P、T、M,因为通常使用top,我们就想看看是哪些进程最耗cpu资源、占用的内存最多; 注:通过”shift + >”或”shift + <”可以向右或左改变排序列 如果只需要查看内存:可用free命令。只查看uptime信息(第一行),可用uptime命令;

四、实例

实例1:多核CPU监控

在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况;

[rdtfr@bl685cb4-t ^]$ top
top - 09:10:44 up 20 days, 16:51,  4 users,  load average: 3.82, 4.40, 4.40
Tasks: 1201 total,  10 running, 1189 sleeping,   0 stopped,   2 zombie
Cpu0  :  1.3%us,  2.3%sy,  0.0%ni, 96.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  1.3%us,  2.6%sy,  0.0%ni, 96.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  1.0%us,  2.0%sy,  0.0%ni, 92.5%id,  0.0%wa,  0.0%hi,  4.6%si,  0.0%st
Cpu3  :  3.9%us,  7.8%sy,  0.0%ni, 83.2%id,  0.0%wa,  0.0%hi,  5.2%si,  0.0%st
Cpu4  :  4.2%us, 10.4%sy,  0.0%ni, 63.8%id,  0.0%wa,  0.0%hi, 21.5%si,  0.0%st
Cpu5  :  6.8%us, 12.7%sy,  0.0%ni, 80.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  :  2.9%us,  7.2%sy,  0.0%ni, 85.3%id,  0.0%wa,  0.0%hi,  4.6%si,  0.0%st
Cpu7  :  6.2%us, 13.0%sy,  0.0%ni, 75.3%id,  0.0%wa,  0.0%hi,  5.5%si,  0.0%st
Mem:  32943888k total, 32834216k used,   109672k free,   642704k buffers
Swap: 35651576k total,  5761928k used, 29889648k free, 16611500k cached

实例2:高亮显示当前运行进程

在top基本视图中,按键盘“b”(打开/关闭加亮效果);

实例3:显示完整的程序命令

命令:top -c

[rdtfr@bl685cb4-t ^]$ top -c
top - 09:14:35 up 20 days, 16:55,  4 users,  load average: 5.77, 5.01, 4.64
Tasks: 1200 total,   5 running, 1192 sleeping,   0 stopped,   3 zombie
Cpu(s):  4.4%us,  6.0%sy,  0.0%ni, 83.8%id,  0.2%wa,  0.0%hi,  5.5%si,  0.0%st
Mem:  32943888k total, 32842896k used,   100992k free,   591484k buffers
Swap: 35651576k total,  5761808k used, 29889768k free, 16918824k cached
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
2013 apache    18   0  403m  88m 5304 S 25.0  0.3   6:37.44 /usr/sbin/httpd
18335 pubtest   22   0 65576  996  728 R  7.8  0.0   0:00.24 netstat -naltp
16499 rdtfare   15   0 13672 2080  824 R  2.6  0.0   0:00.38 top -c
29684 rdtfare   15   0 1164m 837m  14m S  2.3  2.6 148:47.54 ./autodata data1.txt
12976 pubtest   18   0  238m 9000 1932 S  1.6  0.0 439:28.44 tscagent -s TOEV_P

实例4:显示指定的进程信息

命令:top -p <pidid>

/opt/app/tdv1/config#top -p 17265
top - 09:17:34 up 455 days, 17:55,  2 users,  load average: 3.76, 4.56, 4.46
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
Cpu(s):  7.8%us,  1.9%sy,  0.0%ni, 89.2%id,  0.0%wa,  0.1%hi,  1.0%si,  0.0%st
Mem:   8175452k total,  8103988k used,    71464k free,   268716k buffers
Swap:  6881272k total,  4275424k used,  2605848k free,  6338184k cached
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
17265 tdv1      15   0 56504  828  632 S  0.0  0.0 195:53.25 redis-server

指定进程信息有多个时,需要结合其它工具将回车替换为,(-p 支持pid,pid,pid语法)

命令:top -p pgrep MULTI_PROCESS | tr “\n” ”,” | sed ‘s/,$//’

/opt/app/tdv1$top -p `pgrep java | tr "\\n" "," | sed 's/,$//'`
top - 14:05:31 up 53 days,  2:43,  9 users,  load average: 0.29, 0.34, 0.22
Tasks:   3 total,   0 running,   3 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.9%us,  8.2%sy,  0.0%ni, 86.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  66082088k total, 29512860k used, 36569228k free,   756352k buffers
Swap: 32767992k total,  1019900k used, 31748092k free, 15710284k cachedPID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                          27855 rdtfare   20   0 4454m 1.3g 5300 S  0.7  2.0 338:31.37 java2034 jenkins   20   0 18.3g 5.2g 5284 S  0.3  8.2  56:02.38 java                                             12156 rdtfare   20   0 4196m 1.2g  12m S  0.3  2.0  86:34.62 java

实例5:显示特定用户的进程

命令:top -u <username>

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                  1811 root      10 -10  175936  37612   4176 S   6.0  1.0   7229:28 AliYunDunMonito                                                                                                          6597 root      20   0 3624088 456868   6772 S   4.3 12.4 346:53.39 java                                                                                                                     1800 root      10 -10  113488   5888   3952 S   1.0  0.2   1311:34 AliYunDun                                                                                                                941 root      20   0 1175428  22412   4524 S   0.7  0.6 448:29.44 containerd                                                                                                               9 root      20   0       0      0      0 S   0.3  0.0 233:49.32 rcu_sched                                                                                                                328 root      20   0       0      0      0 S   0.3  0.0  23:26.07 jbd2/vda1-8                                                                                                                 

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

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

相关文章

kafka 和Zookeeper 集群架构设计对比分析

kafka 和Zookeeper 集群架构设计对比分析 Kafka 和 Zookeeper 是两个关键的分布式系统组件,它们在集群架构设计上有显著的差异。 下面是对它们在集群架构设计方面的对比分析。 1. Kafka 集群架构设计 1.1 基本架构 Kafka 是一个分布式消息系统,由多个 Broker 组成。每个 …

rust 引用了Trait的实现,为什么还需要引入Trait 才能调用实现的方法

文章目录 1. Rust中结构体实现trait与方法调用的关系2. 要调用trait方法,有几种方式:3. code 1. Rust中结构体实现trait与方法调用的关系 在Rust中,当一个结构体实现了某个trait时,不能直接通过结构体调用trait中定义的方法。这是因为: trait方法不是结构体的固有方法。它们是…

文献阅读(307)AccelWattch

题目&#xff1a;AccelWattch: A Power Modeling Framework for Modern GPUs时间&#xff1a;2021会议&#xff1a;MICRO研究机构&#xff1a;西北大学 本篇论文的主要贡献&#xff1a; 提出了一个GPU功耗模型&#xff0c;考虑了DVFS, thread divergence, intra-warp function…

关于PHP中删除JSON指定元素unset和array_splice的区别

1. unset(mixed $var, mixed ...$vars): void unset 不会改变原有索引顺序 ------------------------- 2. array_splice( array &$array, int $offset, ?int $length null, mixed $replacement [] ): array array_splice 删除后&#xff0c;会重新排序…

小程序人脸分析

公司的业务需求是用户在使用某个功能前&#xff0c;必须使用人脸识别&#xff0c;确保当前使用人是用户本人&#xff0c;防止某些功能乱用。后端用的是腾讯的人脸识别方案&#xff0c;这里只是前端的识别代码&#xff0c;保证人脸剧中&#xff0c;大小合适&#xff0c;有一个人…

四十二、 我国粤港澳大湾区个人信息出境标准合同如何签署和备?

《大湾区标准合同》是注册于&#xff08;适用于组织&#xff09;/位于&#xff08;适用于个人&#xff09;粤港澳大湾区内地部分&#xff0c;或者香港特别行政区的个人信息处理者&#xff08;就内地而言&#xff0c;是指在个人信息处理活动中自主决定处理目的、处理方式的组织、…

4418 HMI 更换logo 图片

逻辑说明&#xff1a; HMI 的 kernel 没有提供源码&#xff0c;只是提供了镜像&#xff0c;如果客户需要更换自己的logo 的话&#xff0c; 可以使用提供的工具&#xff0c;将内核logo 打包起来。 我觉得这里的打包的过程应该是参考了&#xff0c; 4418 build_android.sh 脚…

自然语言处理课程论文

目录 1.背景介绍 1.1 文献介绍 1.2 研究背景 1.3 知识概述 1.3.1 机器翻译 1.3.2 attention机制与self-attention机制 2.数据来源与处理 2.1 数据集描述 2.2 数据处理 3. 模型架构 ​​​​​​​3.1 Positional Embedding ​​​​​​​3.2 Multi-Head Attention ​​​​​…

Go interface{}类型转换

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

华为HCIP Datacom H12-821 卷13

1.多选题 以下关于二层漫游和三层漫游的描述,以下说法正确的是? A、如果 STA 漫游时前后关联的 VLAN ID 相同则一定属于二层漫游 B、二层漫游是指客户端在同一子网内漫游 C、三层漫游是指客户端在不同子网间漫游 D、三层漫游前后 STA 关联的 AP 服务集上的 VL AN 必须相…

awk

1、定义 awk&#xff1a;按行取列 awk的默认分隔符&#xff1a;空格&#xff0c;tab键&#xff0c;有多个空格自动压缩成一个 2、awk的工作原理 根据指定信息逐行的读取文本内容&#xff0c;然后按照条件进行格式化输出 3、awk的选项 -F&#xff1a;指定分割符&#xff0…

SQL Server - ROLLUP、GROUPING、CUBE、GROUPING SET

文章目录 SQL Server - ROLLUP、GROUPING、CUBE、GROUPING SETROLLUP函数GROUPING函数GROUPING SET函数CUBE函数网上例子 写在前面&#xff1a;如果我们想要对分组之后的数据进行类似小计的计算&#xff0c;那么就需要使用到下面的函数 SQL Server - ROLLUP、GROUPING、CUBE、G…

EMANE版本的编译问题

EMANE最新版本编译问题 在Ubuntu 18.04上编译EMANE最新版本 在ubuntu 18.04上使用make deb编译EMANE1.5.1时&#xff0c;会卡在如下地方&#xff1a; make[6]: Entering directory ‘/home/xxx/emane-1.5.1/.debbuild/emane-1.5.1’ /bin/bash /home/xxx/emane-1.5.1/.debbui…

YOLOv10剪枝|模型轻量化实现方案 - 模型剪枝手把手教学

📚 专栏地址:《YOLOv10算法改进实战》 👉 独家改进,对现有YOLOv10进行二次创新,提升检测精度,适合科研创新度十足,强烈推荐 🌟 统一使用 YOLOv10 代码框架,结合不同模块来构建不同的YOLO目标检测模型。 💥 本博客包含大量的改进方式,降低改进难度,改进点包含【B…

互联网IT公司网站选择科技蓝,从来没让人失望过。

选择科技蓝色作为IT官网的主题颜色有以下好处&#xff1a; 专业感&#xff1a;科技蓝色通常与科技、创新和专业相关联&#xff0c;使用科技蓝色可以给访问者一种专业、可靠的印象&#xff0c;增强品牌形象&#xff0c;特别适合IT行业。技术感&#xff1a;科技蓝色给人一种科技…

微信小程序笔记 七!

页面配置 1. 页面配置文件的作用 小程序中&#xff0c;每个页面都有自己的 .json 配置文件&#xff0c;用来对当前页面的窗口外观、页面效果等进行配置。 2. 页面配置和全局配置的关系 小程序中&#xff0c;app.json 中的 window 节点&#xff0c;可以全局配置小程序中每个…

智心顾问:为心智障碍家庭带来温暖与专业支持

&#x1f499;关爱从心开始 —— 理解心智障碍 在这个世界上&#xff0c;有这样一群特殊的群体——心智障碍者。他们通常伴随着个体认知、社会互动和学习能力的障碍。这些障碍可能源于遗传、环境或未知因素&#xff0c;但不应成为他们照护者获得信息和支持的阻碍。心智障碍者的…

「ClickHouse 极简教程」分布式下的 IN/JOIN 及 GLOBAL关键字

百度安全验证https://baijiahao.baidu.com/s?id1712073808973941124&wfrspider&forpc

C++结构体内存对齐规则

背景介绍 最近在使用Java语言写一个Java客户端&#xff0c;对接一个C/C语言编写的Server时&#xff0c;采用TCP协议进行通信&#xff0c;在将C结构体序列化的输出流转换为Java结构体时&#xff0c;需要按照结构体每个字段对应的字节长度截取字节流转换为Java类型&#xff0c;遇…

19 Shell编程之条件语句

目录 19.1 条件测试操作 19.1.1 文件测试 19.1.1 整数值比较 19.1.3 字符串比较 19.1.4 逻辑测试 19.2 if条件语句 19.2.1 if语句的结构 19.2.2 if语句应用示例 19.3 case分支语句 19.3.1 case语句的结构 19.3.2 case语句应用示例 19.1 条件测试操作 Shell环境根据命令执行后…