統計和分析系統效能【IO CPU 記憶體】的工具集合
blktrace
http://www.oschina.net/p/blktrace
獲取磁碟寫入的資訊
root@demo:~/install/percona-toolkit-2.2.1# debugfs -R 'stats' /dev/sda1
debugfs 1.41.11 (14-Mar-2010)
debugfs -R 'stats' /dev/sda1|grep Block
debugfs 1.41.11 (14-Mar-2010)
Block count: 5012992
Block size: 4096
Blocks per group: 32768
Mount -t debugfs none /sys/kernel/debug
dd if=/dev/zero of=/root/a.s bs=1024 count=1000
./blktrace -d /dev/sda -o - | ./blkparse -i -
8,0 0 1070 71.884893141 6075 M W 575360 + 8 [dd]
8,0 0 1071 71.884894103 6075 A W 575368 + 8 <- (8,1) 573320
8,0 0 1072 71.884894272 6075 Q W 575368 + 8 [dd]
8,0 0 1073 71.884894481 6075 M W 575368 + 8 [dd]
8,0 0 1074 71.884895481 6075 A W 575376 + 8 <- (8,1) 573328
8,0 0 1075 71.884895621 6075 Q W 575376 + 8 [dd]
8,0 0 1076 71.884895830 6075 M W 575376 + 8 [dd]
root@demo:~/install/blktrace# debugfs -R "icheck `echo 573320/8|bc`" /dev/sda1
debugfs 1.41.11 (14-Mar-2010)
Block Inode number
71665 937613
root@demo:~/install/blktrace#
root@demo:~/install/blktrace# debugfs -R "ncheck 937613" /dev/sda1
debugfs 1.41.11 (14-Mar-2010)
Inode Pathname
937613 /root/a.s
此時通過lsof可以查到是誰在寫/root/a.s
iotop
http://www.oschina.net/p/iotop
./iotop.py -p ##
這個工具是python指令碼
和top的使用有些類似
strace ltrace
http://sourceforge.net/projects/strace/
http://ltrace.alioth.debian.org/
統計、跟蹤程式使用庫函式、系統函式
Ø 執行跟蹤執行某個檔案
n strace prog
n ltrace prog
Ø 已經執行的檔案跟蹤
n strace -p pid
n ltrace -p pid
n 這種情況有pthread的程式,附加會出現問題SIG_TRAP
Percona toolkit
https://www.percona.com/downloads/percona-toolkit/
http://blog.chinaunix.net/uid-20639775-id-3206802.html
percona-toolkit工具包的使用教程之開發工具類使用
http://blog.chinaunix.net/uid-20639775-id-3207926.html
percona-toolkit工具包的使用教程之效能類工具
http://blog.chinaunix.net/uid-20639775-id-3210834.html
percona-toolkit工具包的使用教程之配置類工具
http://blog.chinaunix.net/uid-20639775-id-3210843.html
percona-toolkit工具包的使用教程之監控類工具使用
http://blog.chinaunix.net/uid-20639775-id-3215742.html
percona-toolkit工具包的使用教程之複製類工具
http://blog.chinaunix.net/uid-20639775-id-3229211.html
percona-toolkit工具包的使用教程之系統類工具
http://blog.chinaunix.net/uid-20639775-id-3236839.html
percona-toolkit工具包的使用教程之實用類工具
http://blog.chinaunix.net/uid-20639775-id-3236864.html
Ø pt-diskstats
An interactive I/O monitoring tool for GNU/Linux.
Ø pt-ioprofile
Watch process IO and print a table of file and I/O activity.
pt-ioprofile --profile-pid=### --cell=sizes
Ø pt-summary
Summarize system information nicely.
sysstat
http://pagesperso-orange.fr/sebastien.godard/
./iostat -x 2
Report Central Processing Unit (CPU) statistics and input/output
statistics for devices and partitions.
#CPU
# ?秒 ?次
./pidstat -u 2 &> cpu.txt &
#記憶體
./pidstat -r 10 &> mem.txt &
#磁碟
./pidstat -d 2 &> io.txt &
#
./iostat -x 2 &> iostat.txt &
#
./mpstat -P ALL 2 &> mpstat.txt &
#
sudo mkdir /var/log/sa -p
sudo chmod 777 /var/log/sa
sudo cp sad* /sbin/.
./sar -u 2 &> sacpu.txt &
./sar -b 2 &> saio.txt &
#建立的執行緒數
#./sar -c 2 &> sathread.txt &
#程式佇列和平均負載統計資訊
./sar -q 2 &> saproc.txt &
#記憶體和交換空間
./sar -r 10 &> samem.txt &
如上的例子就是取樣資訊寫入到檔案中
top/htop
http://sourceforge.net/projects/htop/
htop 是一個 Linux 下的互動式的程式瀏覽器,可以用來替換Linux下的top命令。
記憶體
Linux系統沒執行多少程式,顯示的可用記憶體這麼少?其實Linux與Win的記憶體管理不同,會盡量快取記憶體以提高讀寫效能,通常叫做Cache Memory
http://blog.csdn.net/heizistudio/article/details/25125061 這個文章講解的更詳細