top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top显示系统当前的进程和其他状况,是一个动态显示过程,可以自动或者通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.。比较准确的说,top命令提供了实时的对系统处理器的状态监控,显示系统中CPU最”敏感”的任务列表。top命令可以按CPU使用、内存使用和执行时间对任务进行排序。而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
需要注意的是:top命令监控的最小单位是进程,如果想监控更小单位时,就需要用到ps或者netstate命令来满足我们的要求。
top输出解释
第一行:任务队列信息
top - |10:26:26 |up 1 day, 22:52,| 2 users, |load average: 1.43, 1.39, 1.32 |
用户空间(User Space)和内核空间(Kernel Space):
简单说,Kernel space 是 Linux 内核的运行空间,User space 是用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃了,内核也不受影响。
Kernel space 可以执行任意命令,调用系统的一切资源;
User space 只能执行简单的运算,不能直接调用系统资源,必须通过系统接口(又称 system call),才能向内核发出指令。
第四行:内存状态
KiB Mem:Kib表示描述单位,MEM表示内存
- total:总内存量(4G)
- free:空闲内存(2G)
- used:已用内存(1G)
- buff/cache:缓存内存(307M)
第五行:swap交换分区信息
KiB Swap:Kib表示描述单位,Swap表示交换分区
- total:总内存量(839M)
- free:空闲内存(839M)
- used:已用内存(0)
- avail Mem:可用内存(2G)
什么是交换分区:
类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况;需要注意的是,存储在交换分区的数据性质,在内存不够的情况下,操作系统先把内存中 暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行free和avail的区别:
free 是真正尚未被使用的物理内存数量。
available 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
第六行:各进程状态监控
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态;R=运行;S=睡眠;T=跟踪/停止;Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
常用命令
常用命令参数为:
* -d
top -d 2 表示每2秒刷新一次
* -n
编辑设置
f
键
用上下键选择选项,按下空格键可以决定是否在基本视图中显示这个选项,按esc键退出编辑界面。
c
键
在top基本视图中,敲击c键,可以显示进程的路径:
k
键
在top基本视图中,敲击k键,可以在不退出top命令的情况下杀死某个正在运行的进程:
b
键
在top基本视图中,敲击b键,高亮显示当前正在运行的进程:
1
键
在top基本视图中,敲击数字1键,可监控每个逻辑CPU的状况
Original: https://www.cnblogs.com/ivanlee717/p/16341616.html
Author: ivanlee717
Title: linux命令__top
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523455/
转载文章受原作者版权保护。转载请注明原作者出处!