四、性能分析-进程

一:监控进程

              1、top  实时监控top; 查看系统**进程**的资源使用情况, 也可以查看线程 ;相关命令:    按f帮助,q退出,查看当前系统cpu使用率最高的4个进程: n 4 回车, n 0恢复    top命令默认3秒钟刷新一次数据: s 数字      我只想看某个进程下的线程资源使用情况: top -H -p pid值



                    字段含义解释:第一行:top - 21:28:23 up  1:30,  3 users  load average: 0.00, 0.01, 0.05   :当前时间,系统运行时间,当前用户数(可能为一个用户),系统平均负载(1分钟,5分钟,15分钟)--(可通过3个负载高低判断负载是上升还是下降:第1个值小于第二值,现在系统负载正在下降,再过一段时间可能会恢复正常)

                                                                                                                                                                              系统负载值,不等于cpu使用率值。因为系统的负载值,它主要由两部分组成: cpu的使用率 + io使用率;历史的经验,系统负载高低,与cpu的数量有一定关系。

                                              第二行:Tasks: 181 total,   1 running, 180 sleeping,   0 stopped,   0 zombie  :进程概要信息,有多少进行,运行,休眠,停止,僵化(进程完成,但父进程无响应)

                                                                                                                                                                                   Tasks进程数:Threads: 可以按 H 来切换为线程 ;Task ,Thread 两个数字不相同, Thread数字大于Task数字, 因为 一个进程可能有多个线程

                                              第三行:%Cpu(s): 0.1 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st   :CPU 的概要信息–进程的属主是系统还是用户;按数字 1  可以看到cpu的数量, 核数

                                                                                                                                                                                 + us:用户态使用cpu的时间占比---

                                                                                                                                                                                 + sy: 系统态 在cpu的内核中进行计算消耗的时间占比
                                                                                                                                                                                 + ni:优先级切换(更多进程优先级切换)
                                                                                                                                                                                 + hi:hard interrupt 硬中断 中断会导致时间浪费,也会导致资源占用升高
                                                                                                                                                                                 + si:soft interrupt 软中断
                                                                                                                                                                                 + wa: wait 等待 等待资源
                                                                                                                                                                                 + st: 管理者占用资源
                                                                                                                                                                                 + id: 休闲
                                                                                                                                                                                 + 以后,不要说系统负载值大于cpu数量,就一定负载高。

                                             第四行:KiB Mem :  3880216 total,  3061680 free,   444332 used,   374204 buff/cache :系统内存状态–物理内存,总共多少内存,用了多少,空闲多少

                                             第五行:KiB Swap:  4063228 total,  4063228 free,        0 used.  3207100 avail Mem       :系统交互空间

                                                                                                                                                                                 + buff/cache: 缓存
                                                                                                                                                                                 + buffer是磁盘虚拟出来的一个缓冲区,用于内存**读取**磁盘数据时,加快读取速度
                                                                                                                                                                                 + cache 缓存,存在内存、cpu中,
                                                                                                                                                                                 + swap 交互分区 主要是用来,交换内存空间。它也是由磁盘虚拟而来,一般为内存的2倍
                                                                                                                                                                                 + 任何一个程序启动,都会在内存中占用:虚拟内存核物理内存

                                            PID  USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND     :PID进程id     USER进程的归属用户    PR优先级的级别    NI优先级的值,越低,优先级越高   http://testingpai.com/article/1645862095696

                                                                                                                                                                                             VIRT 虚拟内存 ,进程使用虚拟内存大小   默认是KB      RES 物理内存大小  进程使用的物理内存大小 默认是KB   SHR   共享内存大小 默认单位也是KB (这三个都是进程的内存相关数据,按小写e  可以切换单位)

                                                                                                                                                                                             S 进程的状态    %CPU 进程占用的cpu率     %MEM 进程使用men率        TIME+ 进程使用cpu的时间    COMMAND 进程名称

                                             

              2、vmstat  这个命令是系统自带,  虚拟内存统计的缩写,可对虚拟内存、进程、cpu活动进行监控                            

                      procs -----------memory---------- ----------------------------swap-- ------------io---- ---system-- ------cpu-----
                      r b                    swpd free            buff   cache          si so                    bi bo    in cs              us sy id wa st
                     1 0                    0       3062760 2108   372176         0 0                     19 1     24 42             0 0 100 0 0

                    字段展示:procs       r : 数字 显示cpu中有多少个进程正在等待; 如果r列是数字,大于cpu核数,那么说明现在现在有大量的进程在等待cpu进行计算,现在可能出现了cpu不够用的情况。----cpu成了我们的性能瓶颈,此时,可能需要去增加cpu数量;或者减少运行的进程数。

                                                       b : 数字 现在有多少进程正在不可中断的休眠. 如果这个数字过大,就说明,资源不够用。

                                       memory    swapd , free,buff\buffer, cache

                                       swap        si 交换分区中的换入; so 交换分区中的换出

                                       io              bi 块设备的读 ;bo 块设备的写

                                      system     in interrupet cpu中断 数字  ; cs cpu上下文切换 数学

                                      cpu            us sy id wa  st

           3、其他命令:sysstat的工具包,这个工具包中带了很性能分析命令`yum install sysstat -y`

                                    mpstat  查看cpu的相关数据

                                    pidstat: 能看磁盘、内存、cpu的数据,主要看cpu的上下文数据

                                    iostat:  看数据换入换出

                                    sar :   主要用在网络相关数据的查看 https://www.cnblogs.com/howhy/p/6396437.html



 二、探查进程

         1.  ps 

            ps 默认情况只显示当前控制台下属于当前用户的进程;  ps -e 显示所有进程;  ps -f 显示完整格式输;   ps -ef         显示所有进程完整格式输出

           字段含义:UID 启动进程的用户号; PID 进程的进程ID; PPID 父进程的进程号;C 进程生命周期中的CPU利用率;STIME 进程启动的系统时间;TTY 进程启动的终端设备;TIME 运行进程需要累积的CPU时间;CMD 启动的进程名称

                            

三、结束进程

      1.kill

          kill ID(PID) 对进程属于当期属主或root用户,又是不生效,使用参数-s 支持其他信号:kill -s HUP 2209 (信号名,信号值)

          killall 支持使用进程名,不支持PID,支持用通配符:killall http* 结束所有http开头的进程
posted @ 2022-04-09 19:02  小学生1号  阅读(65)  评论(0编辑  收藏  举报