笔记:Java 性能优化权威指南 第2章 操作系统性能监控

本文详细介绍了如何使用各种工具来监控和分析系统的性能,包括CPU使用率、内存利用率、锁竞争、抢占式上下文切换、网络I/O、磁盘I/O等关键指标,并通过实例展示了各工具的输出解读,帮助开发者深入了解系统运行状态。

一、CPU 使用率

命令:  vmstat 

输出

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0  66972 2722752 453788 2639820    0    0     0     7    1    0  4  1 95  0  0	

最后的CPU列::us = user, sy=system    ,id=idle  ,wa=waiting ,st=


命令: mpstat 

输出

Linux 2.6.32-431.23.3.el6.x86_64 (VA128) 	12/28/2014 	_x86_64_	(8 CPU)

01:18:49 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
01:18:49 PM  all    4.30    0.00    0.70    0.03    0.00    0.02    0.00    0.00   94.94

命令: top  

输出

top - 13:20:33 up 27 days,  2:14,  4 users,  load average: 0.01, 0.01, 0.12
Tasks: 367 total,   1 running, 366 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.9%us,  1.8%sy,  0.0%ni, 97.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16333648k total, 15140648k used,  1193000k free,   453800k buffers
Swap:  6291448k total,    66972k used,  6224476k free,  2640100k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                       
17253 admin     20   0 1340m 257m  20m S  2.3  1.6 306:08.27 phMonitor                                      
  611 root      20   0     0    0    0 S  2.0  0.0  20:55.19 vmmemctl                                       
 4683 admin     20   0 2842m 1.9g 9780 S  2.0 12.4   6299:58 java                                           
   27 root      RT   0     0    0    0 S  1.7  0.0   0:57.62 migration/6                                    
 6340 admin     20   0 6255m  83m  11m S  1.0  0.5   0:29.15 jstatd                                         
 6461 admin     20   0 8262m 1.4g  27m S  0.7  8.7  34:09.20 java                                           
 9431 admin     20   0 4432m 3.7g 532m S  0.7 23.6 152:41.77 phQueryWorker                                  
14706 admin     20   0 15268 1548 1004 R  0.7  0.0   0:00.14 top                                            
  730 admin     20   0 1271m 750m 532m S  0.3  4.7 215:21.15 phRuleWorker                                   
  744 admin     20   0  915m 559m 532m S  0.3  3.5 106:13.52 phIpIdentityWor                                
 3082 root      20   0  134m 8108 1124 S  0.3  0.0  44:56.82 redis-server        

二、CPU调度程序运行队列

命令: vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0  36752 788396 431420 2173544    0    0     0     7    0    1 20  3 77  0  0	


三、内存利用率

命令: vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0  36752 788396 431420 2173544    0    0     0     7    0    1 20  3 77  0  0	

memory 项

命令:free

输出:

             total       used       free     shared    buffers     cached
Mem:      16333656   15563320     770336          0     431452    2172656
-/+ buffers/cache:   12959212    3374444
Swap:      6291448      36752    6254696


命令: top  

输出

top - 13:20:33 up 27 days,  2:14,  4 users,  load average: 0.01, 0.01, 0.12
Tasks: 367 total,   1 running, 366 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.9%us,  1.8%sy,  0.0%ni, 97.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16333648k total, 15140648k used,  1193000k free,   453800k buffers
Swap:  6291448k total,    66972k used,  6224476k free,  2640100k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                       
17253 admin     20   0 1340m 257m  20m S  2.3  1.6 306:08.27 phMonitor                                      
  611 root      20   0     0    0    0 S  2.0  0.0  20:55.19 vmmemctl                                       
 4683 admin     20   0 2842m 1.9g 9780 S  2.0 12.4   6299:58 java                                           
   27 root      RT   0     0    0    0 S  1.7  0.0   0:57.62 migration/6                                    
 6340 admin     20   0 6255m  83m  11m S  1.0  0.5   0:29.15 jstatd                                         
 6461 admin     20   0 8262m 1.4g  27m S  0.7  8.7  34:09.20 java                                           
 9431 admin     20   0 4432m 3.7g 532m S  0.7 23.6 152:41.77 phQueryWorker                                  
14706 admin     20   0 15268 1548 1004 R  0.7  0.0   0:00.14 top                                            
  730 admin     20   0 1271m 750m 532m S  0.3  4.7 215:21.15 phRuleWorker                                   
  744 admin     20   0  915m 559m 532m S  0.3  3.5 106:13.52 phIpIdentityWor                                
 3082 root      20   0  134m 8108 1124 S  0.3  0.0  44:56.82 redis-server        


四、锁竞争、抢占式上下文切换

命令:pidstat -w

输出:

Linux 2.6.32-431.el6.x86_64 (wk129) 	12/28/2014 	_x86_64_	(8 CPU)

01:34:57 PM       PID   cswch/s nvcswch/s  Command
01:34:57 PM         1      0.00      0.00  init
01:34:57 PM         2      0.00      0.00  kthreadd
01:34:57 PM         3      0.49      0.00  migration/0
01:34:57 PM         4      1.19      0.00  ksoftirqd/0
01:34:57 PM         5      0.00      0.00  migration/0
01:34:57 PM         6      0.08      0.00  watchdog/0
01:34:57 PM         7      0.45      0.00  migration/1
01:34:57 PM         8      0.00      0.00  migration/1
01:34:57 PM         9      0.50      0.00  ksoftirqd/1
01:34:57 PM        10      0.08      0.00  watchdog/1
01:34:57 PM        11      0.42      0.00  migration/2
01:34:57 PM        12      0.00      0.00  migration/2
01:34:57 PM        13      0.50      0.00  ksoftirqd/2
01:34:57 PM        14      0.08      0.00  watchdog/2
01:34:57 PM        15      0.40      0.00  migration/3
01:34:57 PM        16      0.00      0.00  migration/3
01:34:57 PM        17      0.45      0.00  ksoftirqd/3
01:34:57 PM        18      0.08      0.00  watchdog/3
01:34:57 PM        19      0.41      0.00  migration/4
01:34:57 PM        20      0.00      0.00  migration/4
01:34:57 PM        21      0.47      0.00  ksoftirqd/4
01:34:57 PM        22      0.08      0.00  watchdog/4
01:34:57 PM        23      0.40      0.00  migration/5
01:34:57 PM        24      0.00      0.00  migration/5
01:34:57 PM        25      0.53      0.00  ksoftirqd/5
01:34:57 PM        26      0.08      0.00  watchdog/5
01:34:57 PM        27      0.44      0.00  migration/6
01:34:57 PM        28      0.00      0.00  migration/6
01:34:57 PM        29      0.53      0.00  ksoftirqd/6
01:34:57 PM        30      0.08      0.00  watchdog/6
01:34:57 PM        31      0.40      0.00  migration/7
01:34:57 PM        32      0.00      0.00  migration/7
01:34:57 PM        33      0.46      0.00  ksoftirqd/7
01:34:57 PM        34      0.08      0.00  watchdog/7
01:34:57 PM        35      1.91      0.00  events/0
01:34:57 PM        36      1.08      0.00  events/1
01:34:57 PM        37      1.27      0.00  events/2

五、网络I/O

命令:nicstat



六、磁盘I/O

命令: iostat -xc

输出:

Linux 2.6.32-431.el6.x86_64 (wk129) 	12/28/2014 	_x86_64_	(8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          19.83    0.00    3.21    0.17    0.00   76.78

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.01     6.24    0.07    4.63     2.31    87.14    19.04     0.75  159.79   3.18   1.49
sdb               0.00     2.34    0.00    0.37     0.00    21.73    58.31     0.01   25.83   4.00   0.15






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值