一 top命令输出结果详解
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。在linux命令行输入top命令:
[root@app3 ~]#top
top命名输出结果如下图所示:分为两部分——统计信息区
和进程信息区
统计信息区
前五行是系统整体的统计信息。
第一行信息,同 uptime 命令的执行结果,提供使用者下面的资讯:当前的系统时间;系统开机运转到现在经过的时间;当前登录用户数;最近一分钟,五分钟和十五分钟的系统负载。
14:16:14
当前时间
up 2 days, 23:30,
系统运行时间,格式为时:分
2 users,
当前登录用户数
load average: 0.00, 0.02, 0.00
系统负载,三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。内容如下:
[进程总数]
Tasks: 113 total, [正在运行的进程数]
1 running, [睡眠的进程数]
112 sleeping, [停止的进程数]
0 stopped, [僵尸进程数]
0 zombie
Cpu(s): 用户空间占用CPU百分比
0.5%us, 内核空间占用CPU百分比
0.5%sy, 用户进程空间内改变过优先级的进程占用CPU百分比
0.0%ni, 空闲CPU百分比
99.0%id, 等待输入输出的CPU时间百分比
0.0%wa, 0.0%hi, 0.0%si, 0.0%st
第四、五行为内存信息。内容如下:
Mem: 物理内存总量
3340872k total, 使用了的物理内存总量
2674500k used, 空闲内存总量
666372k free, 用作内核缓存的内存量
101524k buffers
Swap: 交换区总量
5373944k total, 使用的交换区总量
1575396k used, 空闲交换区总量
3798548k free, 缓冲的交换区总量
217912k cached
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中
的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。
进程消息区
第一行标题的
详细信息
PID(Process ID):进程标示号 ( 每个 process 的 ID )
USER:进程所有者的用户名 ( 该 process 所属的使用者 )
PR:进程的优先级别 ( Priority 的简写,程序的优先执行顺序,越小越早被执行 )
NI:进程的优先级别数值 ( Nice 的简写,与 Priority 有关,也是越小越早被执行 )
VIRT:进程占用的虚拟内存值,单位kb。VIRT=SWAP(进程使用的虚拟内存中,被换出的大小,单位kb。)+RES
RES:进程占用的物理内存值,单位kb。RES=CODE(可执行代码占用的物理
内存大小,单位kb)+DATA(可执行代码以外的部分(数据段+栈)占用的物理
内存大小,单位kb)
SHR:进程使用的共享内存值,单位kb。
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
%CPU:该进程占用的CPU使用率。
%MEM:该进程占用的物理内存和总内存的百分比。
TIME :进程使用的CPU时间总计,单位秒。
TIME+:该进程启动后占用的总的CPU时间 ( CPU 使用时间的累加 ),单位1/100秒。
Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
二 top高级操作——交互式界面操作
在命令行输入top命名后,输出的top结果页面其实就是top的交互式界面了,在这个界面里面隐藏了很多看不见的操作,windows任务管理器有的功能其实在linux的top中也有相应的功能。linux只在命令行使用的时候,初学者都会任务linux很难用,因为没有可视化的图像界面。 如果对linux深入学习后,会发现linux的工具虽然丑陋但是很实用和好用——全键盘操作而不用结合鼠标操作。
查看交互命令的帮助菜单
h或者?
显示帮助画面,给出一些简短的命令总结说明。
初学者可以摸索着自己试试,动动手看,就会发现很多很有趣的操作!!!
监控各个进程的内存情况
shift + m (输入大写M,按占用内存大小排序),效果如下
设置显示内容项
top默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的操作来更改显示内容项。
通过 f
键可以选择显示的内容。按 f 键之后会显示列的列表,字母“AEHIOQTWKNMbcdfgjplrsuvyzX”对应了相应的显示项,按“ AEHIOQTWKNMbcdfgjplrsuvyzX ”中任意键即可显示或隐藏对应的列,最后按回车键确定。
明白了这一步操作,就一根据需要选择需要显示的列哟。
监视指定用户
缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“u或者U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。
按u或者U键后,出现红色框中的交互式输入提示,输入用户名称后按Enter提交:
参数说明
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
[空格] :刷新。
d
指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p
通过指定监控进程ID来仅仅监控某个进程的状态。
q
该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S
指定累计模式
s
使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i
使top不显示任何闲置或者僵死进程。
c
显示整个命令行而不只是显示命令名。
n 设置显示的进程个数。
其他命令
下面介绍在top命令执行过程中可以使用的一些交互命令。从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。这些命令都是单字母的,如果在命令行选项中使用了s选项,则可能其中一些命令会被屏蔽掉。
Ctrl+L
擦除并且重写屏幕。
h或者?
显示帮助画面,给出一些简短的命令总结说明。
k
终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。
i
忽略闲置和僵死进程。这是一个开关式命令。
q
退出程序。
r
重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
S
切换到累计模式。
s
改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f
从当前显示中添加或者删除项目。
shift+f或者F 或 shift+o或者O
改变显示项目的顺序。
l
切换显示平均负载和启动时间信息。
m
切换显示内存信息。
t
切换显示进程和CPU状态信息。
c
切换显示命令名称和完整命令行。
shift+m或者M
根据驻留内存大小进行排序。
shift+p或者P
根据CPU使用百分比大小进行排序。
shift+t或者T
根据时间/累计时间进行排序。
W
将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
总结:可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。
分享到:
相关推荐
数据库系统概论实验2——交互式SQL
在这个项目中,我们将使用MFC来设计和实现图形用户界面,让用户能够与图像处理程序进行交互。 在界面设计中,你需要创建一个主窗口,其中包含菜单栏、工具栏或者按钮,用户可以通过这些元素来选择不同的图像处理...
这是我的博客:jQuery作前台,Python3-Flask作后端的全栈开发——数据交互方式 https://blog.csdn.net/winerchopin/article/details/87886777#comments 讲解使用胡代码1
在Android Studio中,我们可以使用XML布局文件来设计界面,然后在Java代码中处理用户的交互事件。对于安全,我们需要使用加密技术,如哈希函数和盐值,来存储和验证用户密码,防止信息泄露。 简单日记本的设计则...
前后交互的方式图解,一些简单的图解,前端与后台的相关性
【QDshowRecordToMp4——界面线程】是一个与编程开发相关的项目,主要涉及到使用QDshow库来实现视频录制并保存为MP4格式的功能。QDshow是一个开源的DirectShow过滤器库,适用于Windows平台,它简化了对视频流进行...
"安卓Android源码——界面效果全汇总.zip" 提供的资料很可能是对Android系统界面的各种特效和实现方式的全面总结。这份压缩包可能包含了PDF文档,详细介绍了如何通过源码来实现各种视觉效果。下面我们将深入探讨一些...
Axure 教程——界面设计工具 Axure 是一款功能强大且易用的界面设计工具,旨在帮助设计师快速创建原型、wireframe 和交互式设计。下面是对 Axure 的主要功能区的详细介绍: 1. 命令区:包含文件、编辑、查看和帮助...
【标题】"SpringCloud 在线教育 —— 界面原型.rar" 涉及到的知识点主要集中在构建基于 SpringCloud 的在线教育平台的用户界面设计上。SpringCloud 是一个微服务开发工具集,用于简化分布式系统(如配置管理、服务...
htop——交互式进程查看器 Htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top,与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器、swap和内存状态。...
可用性评估作为人机交互系统的重要内容,它关系到系统是否能满足用户的需求,以及用户使用系统时的效率和便捷性。因此,研究可用性的设计原则和评估方法也是必不可少的。 移动界面设计和Web界面设计是当前人机交互...
本资源“Unity 科幻风格的全息交互界面UI”提供了构建未来感十足、高科技界面的工具,非常适合制作科幻主题的游戏或应用。 1. **Unity UI系统**: Unity的UI系统(Unity User Interface,简称UI)是内置的一套用于...
本资源“安卓Android源码——仿苹果通话界面源码.zip”提供了一个示例,帮助开发者理解如何在Android环境中创建一个类似于苹果iOS通话界面的UI。 这个压缩包包含以下三个文件: 1. 1_121119110118_1.png:这可能是...
“非遗类APP”界面交互设计问题及发展策略研究——以泰山皮影为例.pdf
在安卓(Android)系统中,UI界面的绘制是应用程序与用户交互的核心部分。理解其绘制原理对于优化应用性能、创建自定义视图以及深入学习Android系统至关重要。本资料"安卓Android源码——Adroid UI 界面绘制原理分析...
本文旨在探讨三种不同类型的手机游戏——竞速类、益智类、及时尚类——在界面设计和交互方式上的特点,并分析这些设计如何满足不同用户群体的需求。 #### 1. 竞速类游戏:速度与激情的碰撞 竞速类游戏如《PGR赛车...
产品原型——移动端卡片切换交互
在Android应用开发中,设计用户界面是至关重要的一步,尤其是对于注册界面,它通常是用户首次与应用程序交互的地方。"简单的注册界面——TextInputLayout"这个项目就是专注于创建一个使用TextInputLayout的Android...
交互界面达到的效果是,通过点击画面上的按钮来控制是否要显示相应物体的检测结果,即是否把...这里放置了两个版本,物体检测代码是相同的,不同的是交互性的设计,2.0调用的是现成的button函数,使用起来更方便些。
HTML界面的引入意味着开发者可能使用了诸如WebBrowser组件或其他第三方控件,将HTML页面嵌入到Delphi应用中,使得用户可以直接在Delphi应用内浏览和交互HTML内容。这样的设计允许开发者利用HTML和CSS的灵活性来设计...