- vmstat
- mpstat:可以看到每个核的利用率,中断次数
- top:从进程角度查看
- sar:看历史. sar -f /var/log/sa/sa07
内存监控
- free -m
- vmstat
- top
- pmap:查看进程所有的VMA(vm_area_struct)列表
这里解释一下free -m的输出内容。
-bash-3.2$ free -m
total used free shared buffers cached
Mem: 24098 23135 963 0 556 18022
-/+ buffers/cache: 4556 19542
Swap: 2047 0 2047
total = used + free
used = AppUsed + buffers + cachedbuffers 表示块设备读写缓冲区大小。
cached 表示文件系统缓存大小。
第三行第一个字段,表示 used-buffer-cache,也就是被应用使用掉的物理内存大小。第二个字段,表示free+cache+buffer,也就是还可以被应用程序挪用的物理内存大小。
IO监控
- iostat -x 1:分辨顺序IO还是随机IO
- sar -B 1
- top
这里再说明一下iostat的输出。svctm是service time的缩写,表示块设备处理请求耗时。await字段是请求被处理前的等待时间。
avg-cpu: %user %nice %system %iowait %steal %idle
9.43 0.00 0.56 0.00 0.00 90.01
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
监控java这样一般启动多线程的进程,简单的strace -p pid什么也看不到。需要增加 -f 这个参数,man上说这个参数的意思是监控该进程及其子进程。
strace -f -p pid
统计syscall的调用次数和耗时
strace -f -p 27847 -c
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
66.10 6.520408 2443 2669 547 futex
33.35 3.289478 534 6162 epoll_wait
0.46 0.044990 1730 26 poll
0.03 0.002859 0 8526 write
0.03 0.002723 0 35537 clock_gettime
0.03 0.002645 0 9916 3306 read
0.01 0.001059 0 3379 9 epoll_ctl
0.01 0.000501 0 3327 getsockopt
0.00 0.000033 2 18 sendto
0.00 0.000000 0 9 close
0.00 0.000000 0 2 stat
0.00 0.000000 0 20 mprotect
0.00 0.000000 0 2 rt_sigreturn
0.00 0.000000 0 3 sched_yield
0.00 0.000000 0 9 dup2
0.00 0.000000 0 10 accept
0.00 0.000000 0 26 recvfrom
0.00 0.000000 0 10 getsockname
0.00 0.000000 0 45 setsockopt
0.00 0.000000 0 30 fcntl
------ ----------- ----------- --------- --------- ----------------
100.00 9.864696 69726 3862 total

没有评论:
发表评论