1.监视内存
free -mt
total used free shared buffers cached
Mem: 1010 476 534 0 77 131
-/+ buffers/cache: 268 742
Swap: 1027 0 1027
Total: 2038 476 1561
linux会将尚未用的RAM全部用于磁盘缓存
所以实际空闲的看第二行的free
top
top - 23:51:43 up 4:27, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 59 total, 2 running, 55 sleeping, 2 stopped, 0 zombie
Cpu(s): 0.3%us, 1.3%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 1035132k total, 489408k used, 545724k free, 79608k buffers
Swap: 1052248k total, 0k used, 1052248k free, 134508k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7446 root 15 0 2204 988 800 R 1.0 0.1 0:00.11 top
1718 root 21 0 804m 243m 13m S 0.3 24.1 0:52.32 java
6524 rio 15 0 10076 1608 1032 R 0.3 0.2 0:00.42 sshd
1 root 15 0 2072 664 568 S 0.0 0.1 0:02.95 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
Shift+M 以内存排序
Shift+K 后pid后信号,作用等于kill
Shift+P 以CPU排序
RES 常驻内存,该进程的实际物理内存
vmstat 3 3
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 542708 81960 135244 0 0 12 6 1003 84 0 1 99 0 0
0 0 0 542708 81968 135244 0 0 0 12 1000 79 0 1 99 0 0
0 0 0 542708 81976 135244 0 0 0 31 1006 84 0 1 99 0 0
swpd看交换空间的使用量
vmstat -S M -s |less
以MB为单位显示事件计数和内存统计信息
vmstat -m|less
查看内核slab内存缓存信息,取自/proc/slabinfo
slabtop
内核slab内存缓存的top
2.监视CPU
iostat -c 3
Linux 2.6.18-164.10.1.el5 (VirtualBox) 2010年06月02日
avg-cpu: %user %nice %system %iowait %steal %idle
0.13 0.00 0.55 0.22 0.00 99.09
%user启动应用程序
%iowait复制文件
iostat -c -t
Linux 2.6.18-164.10.1.el5 (VirtualBox) 2010年06月02日
Time: 00时49分29秒
avg-cpu: %user %nice %system %iowait %steal %idle
0.13 0.00 0.55 0.21 0.00 99.11
加上时间戳
cat /proc/cpuinfo
查看CPU信息
3.监视存储
iostat
Linux 2.6.18-164.10.1.el5 (VirtualBox) 2010年02月04日
avg-cpu: %user %nice %system %iowait %steal %idle
0.14 0.00 0.45 0.17 0.00 99.24
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 1.50 19.54 13.61 481725 335426
hda1 1.42 19.35 13.31 476970 327992
hda2 0.03 0.11 0.30 2828 7434
hda3 0.04 0.06 0.00 1575 0
由iostat命令生成的第一份报告是 tty 和 CPU 使用率报告。
tin 显示了系统为所有 tty 读取的字符总数。
tout 显示了系统为所有 tty 写入的字符总数。
% user 显示了在用户级(应用程序)执行时产生的 CPU 使用率百分比。
% sys 显示了在系统级(内核)执行时产生的 CPU 使用率百分比。
% idle 显示了在 CPU 空闲并且系统没有未完成的磁盘 I/O 请求时的时间百分比。
% iowait 显示了 CPU 空闲期间系统有未完成的磁盘 I/O 请求时的时间百分比。
每过一定时间间隔,内核就更新这条信息(一般每秒六十次)。
由iostat命令生成的第二个报告是磁盘使用率报告。磁盘报告提供了在每个物理磁盘基础上的统计信息。
% tm_act 表示物理磁盘处于活动状态的时间百分比(驱动器的带宽使用率)。
Kbps 表示以 KB 每秒为单位的传输(读或写)到驱动器的数据量。
tps 表示每秒钟输出到物理磁盘的传输次数。一次传输就是一个对物理磁盘的 I/O 请求。多个逻辑请求可被并为对磁盘的一个单一 I/O 请求。传输具有中等的大小。
Kb_read 读取的 KB 总数。
Kb_wrtn 写入的 KB 总数。
由iostat命令生成的第三个报告是磁盘I/O报告。
iostat -x
Linux 2.6.18-164.10.1.el5 (VirtualBox) 2010年02月04日
avg-cpu: %user %nice %system %iowait %steal %idle
0.14 0.00 0.45 0.17 0.00 99.24
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
hda 0.31 0.98 0.76 0.73 19.30 13.68 22.15 0.03 16.98 1.77 0.26
hda1 0.26 0.95 0.69 0.72 19.11 13.38 22.97 0.02 17.53 1.82 0.26
hda2 0.03 0.03 0.02 0.01 0.11 0.30 13.45 0.00 15.32 1.64 0.01
hda3 0.02 0.00 0.04 0.00 0.06 0.00 1.50 0.00 0.24 0.22 0.00
备注:
rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
vmstat -d
显示磁盘读写和输入输出的统计, sec看出io耗费的总秒数
lsof|less
列出打开的文件和目录的进程