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

系统监控

一、Linux


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

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

1. ps

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

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

截图:

ps -ef --sort=+pcpu | less
Linux和Windows下的系统监控工具(常用命令和软件,性能优化必备)_第1张图片
image.png
ps aux --sort=-pmem | less
Linux和Windows下的系统监控工具(常用命令和软件,性能优化必备)_第2张图片
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:采样次数
截图:

Linux和Windows下的系统监控工具(常用命令和软件,性能优化必备)_第3张图片
屏幕快照 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]]
截图:

Linux和Windows下的系统监控工具(常用命令和软件,性能优化必备)_第4张图片
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 ] [ [ ] ]
截图:

Linux和Windows下的系统监控工具(常用命令和软件,性能优化必备)_第5张图片
屏幕快照 2017-09-24 21.37.38.png

说明:

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

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

5. pidstat

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

Linux和Windows下的系统监控工具(常用命令和软件,性能优化必备)_第6张图片
屏幕快照 2017-09-24 21.54.28.png

监控磁盘:

Linux和Windows下的系统监控工具(常用命令和软件,性能优化必备)_第7张图片
image.png

监控内存:


Linux和Windows下的系统监控工具(常用命令和软件,性能优化必备)_第8张图片
image.png

二、Windows

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

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

你可能感兴趣的:(Linux和Windows下的系统监控工具(常用命令和软件,性能优化必备))