a3.txt--//查看a3.txt文件发现:41 0x80a715c0 46 0x80a71688 80a715c0">

[20210507]分析library cache转储.txt

来源:这里教程网 时间:2026-03-03 16:41:03 作者:

[20210507]分析library cache转储.txt --//继续前面的分析,看看mutex的地址. $ grep "Bucket:" book_ora_12044_0003.trc | sed "s/^Bucket: #=//;s/Mutex=//;s/(.*)//" > a3.txt --//查看a3.txt文件发现: 41 0x80a715c0 46 0x80a71688 80a715c0  = 2158433728 80a71688  = 2158433928 2158433928-2158433728 = 200 200/(46-41) = 40 --//是否可以推出每个mutex结构体占用40字节. 494 0x80a75c88 495 0x80a75cb0 80a75c88  = 2158451848 80a75cb0  = 2158451888 2158451888-2158451848 = 40 --//继续测试: 1149 0x80a7c2e0 1152 0x80a7c358 80a7c2e0  = 2158478048 80a7c358  = 2158478168 2158478168-2158478048 = 120 120/(52-49) = 40 --//写一个脚本分析看看.windows下的awk太难用了,在cygwin下使用. $ awk 'NR==1{a=$1;b=strtonum($2) } NR>1{ print a,b,$1-a,strtonum($2)-b,(strtonum($2)-b)/($1-a);a=$1;b=strtonum($2)}'  a3.txt | head 41 2158433728 5 200 40 46 2158433928 38 1520 40 84 2158435448 61 2440 40 145 2158437888 77 3080 40 222 2158440968 107 4280 40 329 2158445248 93 3720 40 422 2158448968 13 520 40 435 2158449488 17 680 40 452 2158450168 18 720 40 470 2158450888 24 960 40 $ awk 'NR==1{a=$1;b=strtonum($2) } NR>1{ print (strtonum($2)-b)/($1-a);a=$1;b=strtonum($2)}'  a3.txt | sort | uniq -c | sort -nr    3698 40       1 -96675.8       1 -943344       1 -5246550       1 -511229       1 509576       1 32856.1       1 205413       1 164322 --//可以看出大部分都是占用40.也验证我的判断.

相关推荐