当前位置: 首页 > Linux

Linux命令top拆解

时间:2023-04-06 23:42:24 Linux

top命令是Linux下常用的性能分析工具,可以实时显示系统中各个进程的资源占用情况。一、内容介绍Top命令运行示意图:1、第一行-基本信息loadaverage:  loadaverage表示平均系统负载,可以使用top或uptime查看loadaverage的信息,三个数值子表分别代表1分钟内、5分钟内、15分钟内的平均系统负载。要理解这三个值的含义,首先要理解系统的“核心数”。系统核心数=CPU1xCPU1核心数+CPU2xCPU2核心数+CPUnxCPUn核心数+...系统获取核心数。  回到负载平均值。负载平均值的饱和值等于系统中的核心数。因此,要根据平均负载来观察系统负载,首先要看系统中有多少个“核”。单处理器单核的饱和值为1,双核处理器的饱和值为2,单核双处理器的饱和值也为2。理解loadaverage最经典的例子就是把一个CPU核心看成是单向的单向桥,把多核看成是多线的桥。单向桥。如图:  假设当前系统为单核系统。根据上面的描述,它的负载饱和度值为1。在这种情况下,各种值的含义如下:0.00表示没有流量非常顺畅。0.50表示桥上有最大承载能力的一半,比较平稳。1.00表示桥梁已达到最大承载能力。如果有别的车过来,可能要花点时间才能上桥。在这种情况下,如果车速低,车速就会很慢,往往会导致平均负载持续上升。1.70表示桥梁已达到最大荷载,相对于最大荷载70%仍有车辆等待上桥。此时,系统已经不堪重负。在实际应用中,重点关注5分钟和15分钟的loadaverage。当达到0.7时,就需要排查原因了。2.任务信息僵尸进程:表示一个已经终止但还保留着一些信息的进程。它等待父进程调用wait(),然后它就可以完全从内存中移除。将是无法用kill清除的进程。如果要手动清理僵尸进程,需要找到它的父进程。杀死父进程后,LInux的init进程会接管僵尸进程(linux中所有的子进程都需要有一个父进程,当父进程被杀死后,其所有的子进程都会被领养到init进程),init进程每隔一段时间就会调用wait()来清除僵尸进程。3.CPU占用4.物理内存占用buff/cache:buffer和cache都是存储在内存中的数据,不同的是buffer存储的是要写入磁盘的数据,而cache存储的是从磁盘读取的数据在Linux系统中,有定期将缓冲区中的数据写入磁盘的守护进程。您也可以使用sync命令手动将缓冲区中的数据写入磁盘。使用缓冲区可以集中分散的I/O操作,减少磁盘寻道时间和磁盘碎片。缓存是指Linux将读取频率高的数据放入内存,以减少I/O。Linux中没有固定大小的缓存,根据使用情况自动添加或删除。#手动将缓冲区写入硬盘并清除cachesync&&echo3>/proc/sys/vm/drop_caches5.SwapareausageSwap(内存交换区):  是硬盘上的一块空间。在内存不足的情况下,操作系统将内存中不用的数据保存到硬盘的交换区,腾出内存供其他程序运行。因此,开启swap会造成一定程度的I/O性能下降(阿里服务器默认不开启)。6.进程详细信息2.灵活使用top1。命令行使用-b:以批处理方式运行。该方法可以将top的输出以可读的形式写入文件top-b>>top.txt-c:显示完整的命令行(COMMAND),当你想查看进程执行的具体位置时很有用——d:screenrefreshintervaltop-d1:表示每秒刷新一次-s:使用秘密模式-S:指定累积模式-i:不显示任何空闲或死进程-u<用户名>:指定用户名-p:specifiedprocess-n:指定循环显示的次数,达到次数后退出。2、使用top命令交互显示系统的实时状态,支持交互操作。执行top命令显示系统状态界面(也是交互界面),输入交互命令:1:查看CPU各核的使用情况h:显示帮助画面,并给出一些简短的命令总结说明k:终止a进程i:忽略空闲和僵尸进程,这是一个切换命令q:退出程序r:重新确定进程的优先级S:切换到累积模式s:更改刷新之间的延迟(以s为单位),如果有Decimals转换为多发性硬化症。输入0值,系统会不断刷新,默认5sl:切换显示平均负载和启动时间信息m:切换显示内存信息t:切换显示进程和CPU状态信息c:切换显示命令名和完整的命令行M:按常驻内存大小排序P:按CPU使用百分比排序T:按时间/累计时间排序w:将当前设置写入~/.toprc文件。持续更新中...