linux和信息资源管理,Linux top命令详解

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法和各参数的含义。

在终端敲入 top后,会显示如下类似的信息:

Top - 01:06:48 up  1:22,  1 user,  load average: 0.06, 0.60, 0.48

Tasks:  29 total,   1 running,  28 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.3% us,  1.0% sy,  0.0% ni, 98.7% id,  0.0% wa,  0.0% hi,  0.0% si

Mem:    191272k total,   173656k used,    17616k free,    22052k buffers

Swap:   192772k total,        0k used,   192772k free,   123988k cached

PID  USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

1379 root      16   0  7976 2456 1980 S  0.7  1.3   0:11.03 sshd

14704 root      16   0  2128  980  796 R  0.7  0.5   0:02.72 top

1    root      16   0  1992  632  544 S  0.0  0.3   0:00.90 init

2    root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0

3    root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0

说明:

前五行是系统整体的统计信息区

第一行是任务队列信息,用uptime 命令得到相同的结果. 其内容如下:

01:06:48                                     当前时间

up 1:22                                       系统运行时间,格式为时:分

1 user                                         当前登录用户数

load average: 0.06, 0.60, 0.48   最近 1分钟、5分钟、15分钟的系统平均负荷

第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:

Tasks: 29 total                           进程总数

1 running                                    正在运行的进程数

28 sleeping                                睡眠的进程数

0 stopped                                   停止的进程数

0 zombie                                    僵尸进程数

Cpu(s): 0.3% us                         用户空间占用CPU百分比

1.0% sy                                     内核空间占用CPU百分比

0.0% ni                                      用户进程空间内改变过优先级的进程占用CPU百分比

98.7% id                                    空闲CPU百分比

0.0% wa                                    等待输入输出的CPU时间百分比

最后两行为内存信息。内容如下:

Mem: 191272k total                  物理内存总量

173656k used                            使用的物理内存总量

17616k free                                空闲内存总量

22052k buffers                           用作内核缓存的内存量

Swap: 192772k total                   交换区总量

0k used                                       使用的交换区总量

192772k free                               空闲交换区总量

123988k cached                         缓冲的交换区总量。内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。

空行下方是进程信息区,显示了各个进程的详细信息。首先认识一下各列的含义:

序号      列名              含义

1)         PID               进程ID

2)       PPID             父进程ID

3)       USER            进程所有者ID

4)       GROUP         进程所有者所在的组ID

5)         TTY               启动进程的终端名。不是从终端启动的进程则显示为 ?

6)         PR                 优先级

7)         NI                  nice值。负值表示高优先级,正值表示低优先级

8)       P                   最后使用的CPU,仅在多CPU环境下有意义

9)         %CPU           上次更新到现在的CPU时间占用百分比

10)      TIME+           进程使用的CPU时间总计

11)       SWAP            进程使用的虚拟内存中,被换出的大小,单位kb。

12)     CODE            可执行代码占用的物理内存大小,单位kb

13)       RES                进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

14)     DATA             可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

15)     SHR               共享内存大小,单位kb

16)       nFLT               页面错误次数

17)     nDRT             最后一次写入到现在,被修改过的页面数。

18)     S                    进程状态. D=不可中断的睡眠状态, R=运行, S=睡眠, T=跟踪/停止, Z=僵尸进程

19)     COMMAND    命令名/命令行

20)     WCHAN         若该进程在睡眠,则显示睡眠中的系统函数名

21)       Flags             任务标志,参考 sched.h

22)      VIRT             虚拟内存

默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。

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

top命令的使用方法:

top [-] [d] [p] [q] [c] [C] [S] [s]  [n]

说明:

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

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

q该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。

S 指定累计模式

s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。

i  使top不显示任何闲置或者僵死进程。

下面介绍在top命令执行过程种可以使用的一些交互命令:

f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。

o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。

大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。

Ctrl+L 擦除并且重写屏幕。

h或者? 显示帮助画面,给出一些简短的命令总结说明。

k 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。

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

q 退出程序。

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

S 切换到累计模式。

s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

l 切换显示平均负载和启动时间信息。

m 切换显示内存信息。

t 切换显示进程和CPU状态信息。

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

M 根据驻留内存大小进行排序。

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

T 根据时间/累计时间进行排序。

W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

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

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

相关文章

python中sorted函数的用法_Python3 中sorted() 函数的用法

描述 sorted() 函数对所有可迭代的对象进行排序操作。 语法 sorted(iterable, keyNone, reverseFalse) iterable – 可迭代对象。 key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的…

springboot整合minio最新版

第一步&#xff1a;查找minio最新依赖&#xff0c;通过maven查询网站查询,这搜索框输入minio&#xff0c; 也可以查看MinIO官网https://docs.min.io/docs/java-client-quickstart-guide.html 如下: 点击minio进入查看maven依赖&#xff0c;可以看到最新版为8.3.4 <dependen…

linux openh264 编译,在Linux下为Android构建openh264

我正在尝试构建openh264以在android上使用-我有来自git的最新openh264源码-我已经ndk 17-我正在使用Ubuntu 16.04跑步make OSandroid NDKROOT/home/r/aff/ndk TARGETandroid-27 NDKLEVEL27 sysroot/home/r/aff/ndk/sysroot我得到了错误&#xff1a;rr:~/aff/openh264$ make OSa…

学生学籍管理系统python_使用Python实现 学生学籍管理系统

大家好&#xff0c;今天跟大家分享一个用Python实现的学生学籍管理系统&#xff1a; 该代码主体由五个函数组成&#xff1a; 1.add_stu() 添加 2.del_stu() 删除 3.print_stu()打印 4.exit_stu() 退出 5.system() 主函数 1.add_stu() 此段函数作用&#xff1a;把输入的值存入字…

Okhttp使用详解

在Android开发中&#xff0c;发送HTTP请求是很常见的。SDK中自带的HttpURLConnection虽然能基本满足需求&#xff0c;但是在使用上有诸多不便&#xff0c;为此&#xff0c;square公司实现了一个HTTP客户端的类库——Okhttp 。 Okhttp是一个支持HTTP 和 HTTP/2 的客户端&#x…

如何开发rest接口服务_如何简化网络请求接口开发

日常开发中&#xff0c;需要大量和后端对接接口&#xff0c;很容易写出大量的模板代码&#xff0c;比如把对接口的请求放到组件内&#xff0c;或者虽然有数据访问层&#xff0c;但是有大量 get&#xff0c;post 方法的调用&#xff0c;传参的字符串拼接&#xff0c;异常处理等等…

OkHttp协议介绍以及文件下载和上传+OkHttp协议封装+OkHttp拦截器____SpringBoot——集成Okhttp3

OkHttp协议 okhttp是一个第三方类库&#xff0c;用于android中请求网络 这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary) 文件下载用Get方式 OkHttpClient okHttpClient new OkHttpClient.Builder().callTimeout…

质量属性效用树例子_数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇

HT 是啥&#xff1a;Everything you need to create cutting-edge 2D and 3D visualization.这口号是当年心目中的产品方向&#xff0c;接着就朝这个方向慢慢打磨&#xff0c;如今 HT 算是达到了这样的效果&#xff0c;谈不上用尽洪荒之力&#xff0c;但我们对产品结果很满意&a…

linux vi 出现下划线,Vim高亮当前行(显示为下划线)的解决方案

最近配置Vim&#xff0c;由于以前的vimrc早已丢失&#xff0c;只好重新配置一份&#xff0c;此为题外话&#xff0c;略过不提…在Vim中&#xff0c;可以选择开启高亮当前行&#xff0c;这是一个很不错的特性。开启它也很简单&#xff0c;只需要在vimrc中加入这么一行&#xff1…

springBoot 简单优雅是实现文件上传和下载

前言 好久没有更新spring Boot 这个项目了。最近看了一下docker 的知识&#xff0c;后期打算将spring boot 和docker 结合起来。刚好最近有一个上传文件的工作呢&#xff0c;刚好就想起这个脚手架&#xff0c;将文件上传和下载整理进来。 配置 在application.properties 中增…

C语言的VC开发环境界面介绍,【c语言在vc++6.0中编写界面程序】

到现在为止&#xff0c;C 仍然是计算机编程领域的经典语言之一&#xff0c;C 17 标准在2017上半年已经探讨确定。本期我们汇集了编程专家——祁宇(《深入应用 C 11》作者&#xff0c;C 开源社区 purecpp.org 创始人)的多年心得小结&#xff0c;并具体介绍了 C 17 最新标准中值得…

SpringBoot+VUE 前端加密算法 RSA+DES

前言 为了提高用户登陆的安全性&#xff0c;公司准备整理一份相对安全的登陆模式。 想法 主流加密算法 主流加密算法 &#xff08;一&#xff09;对称加密AES ,其特点是&#xff1a;算法简单&#xff0c;加密速度快&#xff1b; &#xff08;二&#xff09;非对称加密方式&…

spring cloud微服务_年后进大厂,必备这份微服务面试题:Dubbo+SpringBoot+Cloud

Dubbo面试题Dubbo与DubboX区别Dubbo中zookeeper做注册中心&#xff0c;如果注册中心集群都挂掉&#xff0c;发布者和订阅者之间还能通信么&#xff1f;Dubbo中有哪些角色&#xff1f;Dubbo在安全机制方面是如何解决的Dubbo执行流程&#xff1f;Dubbo支持的协议有哪些&#xff1…

c语言交通违章编程代码,C语言程序设计之交通处罚单管理系统 报告(内含代码).doc...

C语言程序设计姓名&#xff1a;张强强学号&#xff1a;20121003695班序号&#xff1a;011121前言&#xff1a;C语言是近年来国内得到迅速推广使用的一种计算机语言。C语言程序设计课程是计算机专业和信息管理专业的核心专业基础课&#xff0c;无论是计算机专业还是非计算器专业…

前端 - token 是什么?为什么每次请求头(HEADS)里要携带它?___请求时,为什么要携带token?

前端 - token 是什么&#xff1f;为什么每次请求头&#xff08;HEADS&#xff09;里要携带它&#xff1f; Token token 是客户端频繁向服务器端请求数据&#xff0c;服务器频繁的去数据库查询用户名和密码进行对比&#xff0c;判断用户名和密码正确与否&#xff0c;并作出相应…

全栈工程师薪水_2020 Java 全栈工程师进阶路线图,不可错过

技术更新日新月异&#xff0c;对于初入职场或者刚开始学习的同学来说&#xff0c;经常会困惑该往那个方向发展&#xff0c;这一点所有刚开始学习的人基本都有这个体会的。刚开始学习 Java 那会&#xff0c;最大的问题就是不知道该学什么&#xff0c;以及学习的顺序&#xff0c;…

5乘7的c语言程序,C语言程序设计实验5-7教案(20页)-原创力文档

第 7-8 次课程名称 程序设计基础 课程性质 实验课授课班级 网络 16-1 、2 授课地点 14022016 年 11 月 9 日第 5 小节 ~第 8 小节授课时间 2016 年 11 月 16 日第 5 小节~第 8 小节2016 年 11 月 23 日第 5 小节~第 8 小节课题&#xff1a; 实验六、 数组的应用—— 4 学时主要…

python手机安装模块_python如何安装模块 模块安装操作教程

Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言&#xff0c;设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键字&#xff0c;它具有比其他语言更有特色语法结构。那么Python的安装模块该怎么使用呢&#xff1f;让小编来教一下各位吧。模…

cookie 和 token 都存放在 header 中,为什么不会劫持 token?____token和cookie的区别

cookie 和 token 都存放在 header 中&#xff0c;为什么不会劫持 token&#xff1f; cookie:登录后服务端生成的sessionid&#xff0c;并在http请求里返回到客户端&#xff0c;同时服务端保存sessionid&#xff0c;以后客户端的每次http请求都带上cookie&#xff08;sessionid…

语言inc c,汇编语言练习

习题一1&#xff0e;在计算机内部&#xff0c;计算机能够直接执行的程序语言是。A&#xff0e;汇编语言 B。C语言C&#xff0e;机器语言 D。高级语言2&#xff0e;在堆栈段中&#xff0c;存放栈顶地址的寄存器是。A&#xff0e;IP &#xff22;&#xff0e;SP &#xff23;&…