zoukankan      html  css  js  c++  java
  • top实时监控进程

    uptime查看CPU负载工具

    [root@tzPC ~]# uptime
     09:21:16 up  4:40,  5 users,  load average: 8.13, 5.90, 4.94

    09:21:16:当前时间

    up 4:40:系统运行时间,如图已运行了4小时40分钟

    5 users:当前用户数

    load average:系统负载,显示的是过去的1,5,15分钟内进程队列中的平均进程数量

    如何衡量当前系统是否负载过高

    如果每个cpu(可以按CPU核心的数量计算)上当前活动进程数不大于3,则系统性能良好,

    不大于4,表示可以接受

    如大于5,则系统性能问题严重

    上面例中的8.13,如果有2个cpu核心,则8.13/2=4.065,  此系统性能可以接受

    [root@tzPC ~]# w
     09:25:35 up  4:44,  5 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      20Jun20 16:03m  0.03s  0.03s -bash
    root     pts/0    192.168.149.1    20Jun20 21days  0.17s  0.17s -bash
    root     pts/1    192.168.149.1    20Jun20 21days  0.03s  0.03s -bash
    root     pts/2    192.168.149.1    Sat17   14:13m  0.03s  0.00s more
    root     pts/3    192.168.149.1    09:21    7.00s  0.03s  0.02s w

    top命令

    [root@tzPC tz]# top
    top - 15:51:16 up 2 days,  6:06,  2 users,  load average: 0.00, 0.01, 0.05
    Tasks:  98 total,   2 running,  96 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.0 id,  0.3 wa,  0.0 hi,  0.3 si,  0.0 st
    KiB Mem :  2027940 total,  1012072 free,   227048 used,   788820 buff/cache
    KiB Swap:  3145724 total,  3145724 free,        0 used.  1594920 avail Mem 
    
       PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                            
       317 root      20   0       0      0      0 R  0.3  0.0   0:21.80 xfsaild/sda3                       
       853 root      20   0  305180   6388   5004 S  0.3  0.3   7:38.25 vmtoolsd                           
     57566 root      20   0       0      0      0 S  0.3  0.0   0:20.79 kworker/0:0                        
         1 root      20   0  128288   6944   4196 S  0.0  0.3   0:38.39 systemd                            
         2 root      20   0       0      0      0 S  0.0  0.0   0:00.08 kthreadd                           
         4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                       
         6 root      20   0       0      0      0 S  0.0  0.0   0:06.97 ksoftirqd/0                        
         7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                        
         8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                             
         9 root      20   0       0      0      0 S  0.0  0.0   0:09.94 rcu_sched                          
        10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain                      
        11 root      rt   0       0      0      0 S  0.0  0.0   0:03.06 watchdog/0                         
        13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                          
        14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns                              
        15 root      20   0       0      0      0 S  0.0  0.0   0:00.12 khungtaskd                         
        16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback                          
        17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd                       

     第一行:

    top - 15:51:16 up 2 days,  6:06,  2 users,  load average: 0.00, 0.01, 0.05

     当前时间、系统的运行时间、登陆的用户数、系统的平均负载

    注意:平均负载有三个值分别是最近1分钟,最近5分钟,最近15分钟,值越大系统负载越高,跟服务器配置有关,

     第二行:

    Tasks:  98 total,   2 running,  96 sleeping,   0 stopped,   0 zombie

     Tasks:95 total 当前总进程数

    2 running :正在运行进程数

    93 sleeping:休眠

    1 stooped:停止

    0 zombie:僵尸进程

    第三行:

    %Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.0 id,  0.3 wa,  0.0 hi,  0.3 si,  0.0 st

    0.0 us:用户占用CPU的百分比

    0.3 sy:内核占用CPU的百分比

    0.0 ni:用户进程空间内改过优先级的进程占用CPU百分比

    99.0 id:空闲值CPU百分比,CPU越空闲值越高

    0.3 wa:CPU等待I/O完成时占用CPU百分比

    如果wa占用很多CPU,则表示磁盘性能不足,建议升级磁盘

    hi:硬中断

    si:软中断

    st偷:虚拟机偷取物理机的CPU的时间。比如linux下安装了KVM虚拟机,KVM虚拟机占用物理机的CPU时间

    第四行:

    KiB Mem :  2027940 total,  1012072 free,   227048 used,   788820 buff/cache

    总内存

    空闲内存

    已使用内存

    可被释放内存

    第五行:

    KiB Swap:  3145724 total,  3145724 free,        0 used.  1594920 avail Mem

    总交换分区大小

    空闲交换分区大小

    已使用交换分区大小

    可用交换分区大小

     第六行:

       PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND 

    PR:进程的优先级

    NI:谦让度值用来参与决定优先级

    VIRT:进程占用虚拟内存总量

    RES:进程占用物理内存总量

    SHR:进程和其他进程共享的内存总量

    S:进程的状态

    占用CPU%

    占用内存%

    占用CPU时间

    启动的程序名

    top快捷键

    默认3s刷新一次,按s修改刷新时间

    空格:立即刷新

    q:退出

    P:按CPU排序

    p:后接进程ID,查看某个进程状态(如top -p 20,动态查看PID为20的进程)

    M:按内存排序

    T:按时间排序

    数字键1:显示每个内核的CPU使用率

    u/U:指定显示用户

    h:帮助

    在linux系统中一个进程可以占用超过100%CPU,如dirtycow(脏牛),提权漏洞

    如果是4核心CPU,可以运行400%

    lsof命令

    查看你进程打开的文件,进程打开的端口

    -i <条件>:查找符合条件的进程(如lsof -i :22查看打开22端口的进程)

    -p <进程号>:列出指定进程号打开的文件

    通过ps -aux | grep xxx找到进程号,再使用lsof -p xxx找到进程访问的文件

    pstree工具使用

    以树状显示进程,只显示进程的名字,相同进程合并。

    -p 显示进程PID

    使用此命令需要安装psmisc

     yum -y install psmisc
    今天的学习是为了以后的工作更加的轻松!
  • 相关阅读:
    【Lintcode】112.Remove Duplicates from Sorted List
    【Lintcode】087.Remove Node in Binary Search Tree
    【Lintcode】011.Search Range in Binary Search Tree
    【Lintcode】095.Validate Binary Search Tree
    【Lintcode】069.Binary Tree Level Order Traversal
    【Lintcode】088.Lowest Common Ancestor
    【Lintcode】094.Binary Tree Maximum Path Sum
    【算法总结】二叉树
    库(静态库和动态库)
    从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/tz90/p/13287800.html
Copyright © 2011-2022 走看看