Linux 环境
top 命令:从宏观上对系统进行观察
top - 12:47:42 up 7 days, 20:22, 2 users, load average: 0.60, 0.57, 0.55
- 系统当前时间
- 运行时间
- 当前登录用户数量
- load average:系统平均负载(特定时间间隔内运行队列中的平均进程数),分别代表1min,5min,15min.其理想值为cpu的个数,代表cpu全部饱和运行
Tasks: 294 total, 1 running, 293 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.6%us, 0.0%sy, 0.0%ni, 99.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16632440k total, 6589836k used, 10042604k free, 391028k buffers
Swap: 2096472k total, 0k used, 2096472k free, 2464648k cached
- CPU 占有率
us: 用户使用cpu时间比
sy: 内核使用cpu时间比
ni:用nice加权的进程使用的用户态的CPU时间比
wa:CPU等待磁盘写入时间,前提是需要进行I/O操作,当wa比较高时,I/O出现问题
st:虚拟机偷取时间
hi : 硬中断消耗时间
si:软中断花费时间
id: 除了以上的所有时间
统计CPU的时间,建议公式「User + Sys + Nice + Wait」
进程信息
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9732 root 21 0 2492m 365m 13m S 0.3 2.3 25:00.69 java
9809 root 19 0 1139m 173m 14m S 0.3 1.1 27:55.76 java
- PR: 进程优先级
- NI: nice值,负值表示高优先级,正值表示低优先级
- VIRT: 占用的虚拟内存数
- TIME+ : 进程使用CPU时间综合,单位为(s)
vmstat
- 性能检测工具
指定采样周期和采用次数
vmstat 1 4 // 每1秒采集一次,采集4次
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 10055872 391028 2466272 0 0 0 7 2 1 0 0 99 0 0
0 0 0 10055872 391028 2466272 0 0 0 0 1035 756 0 0 99 0 0
0 0 0 10055872 391028 2466272 0 0 0 0 1022 741 1 0 99 0 0
0 0 0 10055872 391028 2466272 0 0 0 144 1043 1034 1 0 99 0 0Procs
- r:等待运行进程数
- b:处在非中断睡眠状态的进程数
- Memory(单位KB)
- swap
- si 从磁盘交换到内存的页数量
- so 从内存到磁盘的交换页数
- IO
- bi 发送到块设备的块数
- bo 从块设备收到的块数
- system
- in 每秒中断数
- cs 每秒上下文切换次数
- cpu
- id 空闲时间
iostat 监测I/O使用
pidstat 多功能诊断器
- pidstat -p [pid]
- 查看进程对系统资源占用情况
- -t 可以细化到线程级别
- -d 参数表明监控对象为磁盘
- -r 进行内存检测
Windows
通过任务管理器进行查看
perfmon 性能监测工具
- Win+R 输入「perfmon」命令
命令行工具
pslist
- 语法
[-d] [-m] [-x] [-t] [-s n] [-r n] [-e] [name|pid]
- -d 显示进程详细信息
- -m 显示内存信息
- -x 显示进程,内存,线程信息
- -t 显示进程之间父子关系
- -s n 进入监控模式,n指定程序运行时间
- -r n 指定监控模式的刷新时间,以秒为单位
- -e 使用精确匹配,只监控name参数的进程
Process Explore 进程管理工具
- 显示系统内所有进程
- 显示进程之间父子关系