美文网首页
Linux和Windows下的系统监控工具(常用命令和软件,性能

Linux和Windows下的系统监控工具(常用命令和软件,性能

作者: 荣儿飞 | 来源:发表于2017-09-24 20:38 被阅读0次

    系统监控

    一、Linux


    开始之前,说一下Linux中获取命令帮助的方法

    • <command> --help
      显示命令的用法、参数等
    • <command> -h
      同上,简写
    • man <command>
      查看该命令的使用手册(Linux User’s Manual ),十分详细,包括作用、语法、参数用法、系统调用、使用规则等等

    1. ps

    作用:查看系统进程状态(快照)
    用法:ps [options] [--help]
    常用用法:

    • System V 风格ps -ef
    • BSD 风格ps aux
    • 排序--sort=<+|-><column>,如ps -ef --sort=+pcpups -ef --sort=-pmemps aux --sort=+pid 等,+表示升序、-表示降序
      上述命令都是输出系统中所有进程的详细信息,输出可能会很多,通常结合管道命令使用。

    截图:

    ps -ef --sort=+pcpu | less
    image.png
    ps aux --sort=-pmem | less
    image.png

    结果部分参数说明:

    参数名 含义
    VSZ 进程所使用的虚存的大小(Virtual Size)
    RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
    TTY 与进程关联的终端(tty)
    STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)

    2. w/uptime/top

    w

    作用: 查看系统有谁登录了并且查看他们在做什么
    用法: w [options] user [...]
    load average: 表示系统CPU的平均负载, 简单来说一段时间内就是进程队列的平均长度, 通常来说, 数值不能超过系统的逻辑CPU数量为好

    uptime

    作用: 查看系统运行了多长时间
    用法: uptime [options]

    top

    作用:查看系统资源占用状况
    用法:top -hv | -abcHimMsS -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
    常用参数:
    -h:help 显示帮助信息
    -v:version 显示版本信息
    -d:采样周期
    -n:采样次数
    截图:

    屏幕快照 2017-09-24 20.37.50.png
    结果说明:
    前半部分:系统统计信息
    + 第一行:任务队列信息 (相当于`uptime`命令)
    系统当前时间、系统运行时间、用户数、平均负载、任务队列评价长度
    + 第二行:进程统计信息
    正在运行进程数、睡眠进程数、停止的进程数、僵尸进程数
    + 第三行: CPU统计信息
    us: 用户空间CPU占用率
    sy: 内核空间CPU占用率
    ni: 用户进程中改变了优先级的进程的CPU占用率
    id: 空闲CPU占用率
    wa: 等待IO的CPU时间片百分比
    hi: 硬件中断请求
    si: 软件中断请求
    + 第四行:内存信息
    总物理内存大小、已使用、空限量、内核缓冲使用量、
    + 第五行:交换分区信息
    交换分区总量、空闲交换分区大小、缓冲交换分区大小
    

    后半部分:进程信息

    PID:进程id
    USER:进程所有者的用户名
    PR:优先级
    NI:nice值,负值表示优先级高、正值表示低优先级
    %CPU:CPU占用率
    TIME+:进程使用的CPU时间总计(单位:1/100 秒)
    %MEN:内存占用率
    VIRT:虚拟内存使用量(单位kb,VIRT=SWAP+RES)
    RES:进程使用的未被换出的物理内存大小(RES=CODE+DATA)
    SHR:共享内存大小(单位:kb)
    COMMAND:进程命令
    

    3. vmstat

    作用:监控内存和CPU(实时采样)
    用法:vmstat [-V] [-n] [delay [count]]
    截图:

    image.png

    结果说明:

    输出 含义
    Procs r:等待运行的进程数
    b:处在非中断睡眠状态的进程数
    Memory swpd:虚拟内存使用情况
    free:空闲内存
    buff:被采用作为缓存的内存数
    单位均为KB
    Swap si:磁盘->内存 换页数量
    so:内存->磁盘 换页数量
    单位:KB/秒
    IO in:发送到块的设备数
    bo:从块设备接收到的块数
    单位:KB/秒
    System in:每秒中断数
    cs:每秒上下文切换次数
    CPU us:用户CPU使用时间
    sy:内核CPU使用时间
    id:空闲CPU时间

    4. iostat

    作用:监控IO使用
    用法:iostat [ options ] [ <interval> [ <count> ] ]
    截图:

    屏幕快照 2017-09-24 21.37.38.png

    说明:

    选项 含义
    tps 设备每秒传输次数
    *_read/s 每秒从设备读取的数据量
    *_write/s 每秒向设备写入的数据量
    *_read 从设备读取的数据量
    *_write 向设备写入的数据量

    *代表读写单位例如KB、Blk等,不同系统不一样

    5. pidstat

    作用:多功能诊断器
    用法:pidstat [ options ] [ <interval> [ <count> ] ]
    常用参数:
    -p <PID>:指定进程ID
    -u:监控cpu使用率
    -d:监控磁盘IO
    -r:监控内存
    -t:监控粒度细化到线程级别
    截图:
    监控CPU:

    屏幕快照 2017-09-24 21.54.28.png

    监控磁盘:

    image.png

    监控内存:


    image.png

    二、Windows

    1. 任务管理器(GUI)
      系统自带工具,功能有限
    2. perfmon(GUI)
      专业级性能监控工具,功能齐全
    3. Process Explorer(GUI)
      进程管理工具,可代替任务管理器使用
    4. pslist(CMD)
      命令行的进程监控工具

    由于大多数项目在Windows上跑的机会不大,因此这里不再详细介绍上述几个工具的使用方法,有兴趣的读者自行研究。

    相关文章

      网友评论

          本文标题:Linux和Windows下的系统监控工具(常用命令和软件,性能

          本文链接:https://www.haomeiwen.com/subject/mrrlextx.html