前言top命令分为摘要区和任务详情区。摘要区的运行时间和当前登录系统用户的当前时间为15:39:37。系统已经运行了90天15小时26分钟。目前,有两种活跃的用户内存使用情况。上下两行显示物理内存和交换内存的总和,以kb为单位,free(空闲)和used(总计)。其中buff/cache是??CPU读写硬盘数据时用到的。内存中开辟的buffer(写入用的buffer)或缓存区(cacheforreading)用于提速availmem是新建进程时不使用swap分区可以分配的内存大小。这个size可能比当前free大,因为buff/cache中的内存在创建进程的时候可以根据需要抢占。进程计数统计进程状态Runnable(R)已经在使用cpu执行,或者进程已经在cpu的执行队列中Interruptiblesleep(S)进程处于睡眠状态,可以通过中断信号终止Uninterruptiblesleep(D)进程处于睡眠状态,等待I/O操作结束Stopped(T)已经结束的进程Zombie(Z)一个父进程的多个子进程已经退出,但是父进程仍然存在,进程状态在尚未获得孩子的身份之前。内核在内存中维护各种数据结构以跟踪进程。一个进程可能会创建多个子进程,它们可能会在父进程还在时退出。但是,必须保留这些数据结构,直到父进程获得子进程的状态。这种数据结构仍然存在的终止进程称为僵尸进程。总共有27个进程,1个正在运行,26CPUusageinsleep,uscputimespentonuserspaceprocesses,timesycpuspentonSystemspaceTimeontheprocessnicpupriority,值越高越好。越和善越有礼貌,很容易帮助别人而放弃自己的资源。因此,相应地,在cpu调度中,nice越高优先级越低,nice越低优先级越高。ni表示cpu在手动设置nice值的过程中花费的时间idCPU空闲时间wacpu等待io花费的时间hicpu处理硬件中断花费的时间,hi代表硬件中断sicpu花费在处理软件中断上的时间,si是软件中断的全称st。如果在操作系统上部署虚拟机,CPU会被虚拟机占用一定的资源。这时候,即使其他进程需要资源,CPU也分配不了。相当于窃取cpu资源,所以st表示被窃取的时间,窃取时间后面的三组数字Loadaverageloadaverage分别是1分钟、5分钟、15分钟的工作负载情况。这里的Load指的是在单核cpu的情况下处于R(运行)和D(不间断睡眠)两种状态的进程数。如果loadaverage为0.4,cpu利用率只有40%。loadaverage为1,表示cpu利用率为100。loadaverage为2.12,表示CPU已经超载了112%(2.12减去fullload1,也就是超载的部分)。在多核CPU的机器上,需要将上述1、5、15的负载除以对应的CPU核数,从而评估对应cpu的负载。比如在一台40核的机器上,过去一分钟的cpu占用率是:8.26/40=0.2065,说明cpu占用率只有20%。任务区显示每个进程。在PID的情况下,进程的idUSER,启动进程的用户,PR和NI,NI代表进程的Nice值。PR表示内核调度进程的优先级。NI影响PRVIRT、RES、SHR和%MEM。VIRT代表进程使用的所有内存的大小,包括虚拟交换内存和物理内存。RES是使用的物理内存大小,%MEM表示与该大小对应的总内存的百分比。SHR是当前进程与其他进程共享的内存大小S当前进程的状态,单个字母表示,进程状态枚举,见文档前面TIME+进程启动后,时间CPU花在它上面的时间精确到百分之一秒COMMAND进程的名字杀死进程的核心命令上面的名字执行完后,按小k进入杀死进程对话框,后面输入进程号即可kill进程进程排序在top命令下按以下大写字母,按不同维度排序M按内存占用排序P按CPU占用排序N按进程ID排序T按进程CPU占用时间排序当然也可以直接加参数命令开始时到顶部。例如按cpu使用率排序top-o%CPU线程运行状态top命令默认显示进程的运行状态。执行top命令后,按大写的H进入线程执行页面,再按H进入进程展示。或者在启动时top加上参数top-H来区分内核进程,显示进程启动路径。top执行后,按小c显示进程路径,内核进程名(命令栏)加方括号。然后按c切换回来。当然你也可以在启动时加上参数top-c,以树状结构展示父子进程关系。top执行后,按大V,可以根据用户过滤进程。top启动后,按小写u,在输入框输入对应的用户名或者top启动时,通过加参数过滤用户top-uroot基于表达式的过滤过程top启动后,按大O输入输入框过滤表达式表达式有以下类型COMMAND=getty:过滤COMMAND属性中包含“getty”的进程。!COMMAND=getty:过滤COMMAND属性中不包含“getty”的进程。%CPU>3.0:过滤CPU使用率超过3%的进程。输入等号'='清除过滤表达式,并以进度条的形式显示资源使用情况。在top命令下,按t或m显示进度条。如何先根据psaux|根据进程id或程序名查看其资源使用情况grepprocessName找到对应进程的pid,然后使用top-c-ppid过滤查看进程的资源使用情况。参考链接https://www.booleanworld.com/...欢迎关注我个人的公众号《西北偏北UP》,记录代码生活,行业思考,技术评论
