• 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
    今天的学习是为了以后的工作更加的轻松!
  • 相关阅读:
    2.操作系统基础
    6.Linux基础3
    DRAM 内存介绍(一)
    131127新的一天
    Java中的super关键字何时使用
    JAVA的引用类型变量(C/C++中叫指针)
    System.out.println()的含义
    Java面试题
    HTML基础知识
    子域名查找
  • 原文地址:https://www.cnblogs.com/tz90/p/13287800.html
Copyright © 2020-2023  润新知