Linux 查看资源占用情况

转自: http://blog.csdn.net/gltyi99/article/details/6761656
今天给客户准备环境来测试数据加载速度,需要使用工具来监控cpu,内存,磁盘IO等的情况。这里记录了一些命令来温习一下。

top
请参见top命令解释,http://blog.csdn.net/gltyi99/article/details/6761500

free
1.作用
free命令用来显示内存的使用情况,使用权限是所有用户。

2.格式
free [-b-k-m] [-o] [-s delay] [-t] [-V]

3.主要参数
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。

[root@study ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1010        382        628          0         29        296
-/+ buffers/cache:         57        953
Swap:         3137          0       3137

[root@study ~]# uptime
 20:17:19 up 9 min,  1 user,  load average: 0.00, 0.18, 0.17
现在的时间
系统开机运转到现在经过的时间
连线的使用者数量
最近一分钟,五分钟和十五分钟的系统负载

参数: -V 显示版本资讯。
[root@study ~]# uptime -V
procps version 3.2.7

vmstat
[root@study ~]# 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      0 643144  29748 303448    0    0   756    49 1036  145  2  2 86 10  0
 
1 观察磁盘活动情况
磁盘活动情况主要从以下几个指标了解:

bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。
bo:表示每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。
wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动阻碍cpu的情况越严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要进行性能调整了。

2 观察cpu活动情况
vmstat比top更能反映出cpu的使用情况:

us:用户程序使用cpu的时间比例。这个数字越大,表示用户进程越繁忙。
sy: 系统调用使用cpu的时间比例。注意,NFS由于是在内核里面运行的,所以NFS活动所占用的cpu时间反映在sy里面。这个数字经常很大的话,就需要注 意是否某个内核进程,比如NFS任务比较繁重。如果us和sy同时都比较大的话,就需要考虑将某些用户程序分离到另外的服务器上面,以免互相影响。
id:cpu 空闲的时间比例。
wa:cpu等待未决的磁盘IO的时间比例。

iostat
用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量
参数:
-c 只显示CPU行
-d 显示磁盘行
-k 以千字节为单位显示磁盘输出
-t 在输出中包括时间戳
-x 在输出中包括扩展的磁盘指标

[root@study ~]# iostat
Linux 2.6.18-238.el5 (study)    08/09/11

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.81    0.04    1.89    8.55    0.00   87.71

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              17.41      1285.43        86.95     659555      44612
sda1              0.17         3.78         0.01       1937          4
sda2             17.20      1280.85        86.94     657202      44608
sdb               0.35        10.01         0.03       5135         16
sdb1              0.07         3.16         0.00       1621          0
sdb2              0.20         5.45         0.03       2794         16
sdc               0.26         8.13         0.03       4171         16
sdc1              0.18         6.46         0.03       3315         16

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.81    0.04    1.89    8.55    0.00   87.71

%iowait 等待本地I/O时CPU空闲时间的百分比
%idle 未等待本地I/O时CPU空闲时间的百分比

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              17.41      1285.43        86.95     659555      44612
每秒传输数(tps)、每秒512字节块读取数(Blk_read/s)、每秒512字节块写入数(Blk_wrtn/s)和512字节块读取(Blk_read)和写入(Blk_wrtn)的总数量。

基本使用
[root@study ~]# iostat -d -k 1 10
Linux 2.6.18-238.el5 (study)    08/09/11

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              11.55       423.43        29.12     329833      22686
sda1              0.11         1.24         0.00        968          2
sda2             11.41       421.92        29.12     328657      22684
sdb               0.23         3.30         0.01       2567          8
sdb1              0.05         1.04         0.00        810          0
sdb2              0.13         1.79         0.01       1397          8
sdc               0.17         2.68         0.01       2085          8
参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。

tps(每秒传输数):该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。

kB_read/s:每秒从设备(drive expressed)读取的数据量;kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。

[root@study ~]# iostat -d -x 1 10
Linux 2.6.18-238.el5 (study)    08/09/11

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda              12.46     3.35  6.34  1.98   605.42    42.62    77.84     0.45   53.62  10.82   9.01
sda1              1.55     0.00  0.08  0.00     1.78     0.00    22.06     0.00   17.51  16.48   0.13
sda2             10.89     3.35  6.25  1.98   603.26    42.62    78.52     0.44   54.09  10.81   8.89
sdb               1.85     0.00  0.16  0.00     4.71     0.01    28.62     0.00    9.50   8.83   0.15
sdb1              1.29     0.00  0.03  0.00     1.49     0.00    43.81     0.00    3.59   2.95   0.01
sdb2              0.51     0.00  0.09  0.00     2.56     0.01    27.02     0.00   14.85  14.11   0.13
sdc               2.75     0.01  0.12  0.00     3.83     0.01    31.72     0.00   13.24  11.56   0.14
sdc1              2.69     0.01  0.08  0.00     3.04     0.01    36.21     0.00   18.49  16.08   0.14

rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。

rsec/s:每秒读取的扇区数;wsec/s:每秒写入的扇区数。r/s:The number of read requests that were issued to the device per second;w/s:The number of write requests that were issued to the device per second;

await:每一个IO请求的处理的平均时间(单位是微秒毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。

%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

参见使用方式
$iostat -d -k 1 10        #查看TPS和吞吐量信息
iostat -d -x -k 1 10      #查看设备使用率(%util)、响应时间(await)
iostat -c 1 10            #查看cpu状态
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值