Java 并发 性能分析工具

性能分析工具
Lmbench3、vmstat
vmstat
https://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html
vmstat
是Linux下的一个监控工具,可以用来
- CPU使用率
- 内存使用
- 虚拟内存交换IO读写情况;
1 | vmstat 2 1 |
1 | yyn@yynlinux:~$ vmstat 1 |
这里表示vmstat每1秒采集一次数据;
- r表示运行队列,即多少进程真的分配到CPU;
- 当这个值超过CPU数目,就会出现CPU瓶颈;
- b:阻塞的进程;
- swpd:虚拟内存使用大小,如果大于0,表示物理内存不足了;
- free:空闲物理内存大小(内存/
运存); - buff:Linux用来存储目录索引,权限等缓存;
- cache:打开的文件的文件缓冲区;
- si:每秒从磁盘读入虚拟内存的大小,值大于0表示物理内存不够用或内存泄漏
- so:每秒从虚拟内存写入磁盘的大小;
- bi:块设备每秒接收的块数量;
- 块设备指:系统上的所有磁盘和其他块设备,默认块大小1024byte。比如:磁盘写入速度;
- bo:块设备每秒发送的块数量;
- 比如:磁盘读入速度;
- bi和bo的值一般要接近0,否则就是IO过于频繁,需要调整;
- in:每秒CPU中断次数,包括时间中断;
- cs:每秒上下文切换次数,比如:调用系统函数,线程的切换等会触发上下文切换。这个值越小越好,太大要考虑调低线程或者进程的数目;
- us:用户CPU时间;
- sy:系统CPU时间。如果太高,表示系统调用时间长,如IO操作频繁;
- id:空闲CPU时间,一般来说:
id + us + sy = 100
- wt:等待IO CPU时间。
评论