|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
想在服务器程序中使用gpeRFtools分析性能。目前正在学习使用中。, b% `! u* T" S% O1 R
写一个非常简单的hello.c程序,虽然程序简单,怎么说都应该有哪怕一句性能输出,可结果完全意外,myperf.prof 大小4331,转成pdf大小为0,可自动退出的简单程序尚且无法输出文件,无法自动退出的服务器程序就更不可能了,特别沮丧,哪位大神可以帮指点以下?8 z3 T: B: }/ B! }; I4 o
究竟用法上问题处在哪?
+ m" ?/ s+ A5 N0 U( X
- y7 r( s' V! ^: R) l不胜感激![]()
7 G! ]; R0 P3 E6 @1 G+ L% W9 l% a; j/ M( L7 P
hello.c内容:5 N1 y D! F5 k
% {# H! z2 S0 P' Ivoid main()
2 Q7 l( m4 g4 c& N( Z0 X{3 R7 V$ r& m1 [) y% j
int i = 0;
4 {/ w+ w$ r# S7 K$ m while(i < 100)/ ]; i$ N* z; N g& \7 L
{) K' i" a" I1 M
sleep(1);- i- \+ h" N- l1 ^! q6 A
printf("hello worlde %d \n",i);/ @* r1 z6 I% v
}
( c, g, S, M+ m$ Y! ?
+ n- c1 l& f6 H, N0 R, ]0 F return;3 q) a! P% ^7 j! z l% e) {1 E
}
! H; q4 O9 K5 b* e |9 ?$ Z4 F
, I7 n' E' E& c ?% f7 k& C; N3 L* q3 x- ?) Y
尝试是否可以输出性能文件。
+ [7 w! J5 _3 N2 _! s) _gperftools安装略过。; t! E" @0 K) a' P* _1 }+ ]* o2 L
编译及执行命令:
, g3 k2 a/ x5 c% _( N$ gcc -o hello hello.c
" h: w: q6 ^/ n" y# k# y$ env CPUPROFILE=myperf.prof LD_PRELOAD=/usr/lib/libprofiler.so ./hello
& C4 ?; X$ u4 x, I ]: [
7 T6 W: w }, Y$ {1 v9 N输出结果:
6 y+ f" J' Q; h; \( F! Y-rw-rw-r-- 1 xxx xxx 4331 6月 25 23:34 myperf.prof2 [3 [! v) ?" G7 J9 a, Y2 A( J
-rw-rw-r-- 1 xxx xxx 0 6月 25 23:34 perf.pdf: p2 g! b% C' X/ U- ]+ @% X' z
5 z& i% U* t; F
$ pprof --pdf /home/xxx/hello myperf.prof>perf.pdf
4 _: i' n/ \. k3 DUsing local file /home/xxx/hello.2 P8 }( W. }" w6 A+ ~9 I8 Z
Using local file myperf.prof.
# I: e4 J2 L+ E% NNo nodes to print
3 F$ s- x, c' j; R- q. [5 Y' X1 ?0 S$ k3 o. F
myperf.prof内容:6 ]+ ^) W3 M5 j
4 01e32000-01e64000 rw-p 00000000 00:00 0 [heap]
! E P: I* J$ m 5 7f8519007000-7f8519419000 rw-p 00000000 00:00 00 M- c; I7 x7 g+ \
6 7f8519419000-7f851941c000 r-xp 00000000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so
. z; x, \1 |& b8 O" a; x 7 7f851941c000-7f851961b000 ---p 00003000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so5 J5 K( |& B4 V5 t. k1 q
8 7f851961b000-7f851961c000 r--p 00002000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so9 o J W6 a5 z$ r! C4 M0 P$ f$ i5 f
9 7f851961c000-7f851961d000 rw-p 00003000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so. o( X8 _$ E2 V8 z4 l1 e; ^
10 7f851961d000-7f8519633000 r-xp 00000000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1/ R" \ A7 W& }
11 7f8519633000-7f8519832000 ---p 00016000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.13 s1 O& w, G" D$ l9 t- R
12 7f8519832000-7f8519833000 rw-p 00015000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1
/ C6 C( c" p7 k$ b0 e/ Z8 [ 13 7f8519833000-7f851993b000 r-xp 00000000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so
. k5 I+ {0 A* V 14 7f851993b000-7f8519b3a000 ---p 00108000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so
$ r6 t# e' n _6 j; G0 b 15 7f8519b3a000-7f8519b3b000 r--p 00107000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so, l- J+ z+ q1 }8 k9 j
16 7f8519b3b000-7f8519b3c000 rw-p 00108000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so9 | @+ r3 M9 ^) Z+ R2 Z& |
17 7f8519b3c000-7f8519b5d000 r-xp 00000000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
6 G' K; I' G ?9 q: O( W+ x 18 7f8519b5d000-7f8519d5c000 ---p 00021000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
) I( \% J. u8 z 19 7f8519d5c000-7f8519d5d000 r--p 00020000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
6 u) _: F. r7 h 20 7f8519d5d000-7f8519d5e000 rw-p 00021000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0: J3 b- H2 _, F; s# E1 B0 l3 @, y
21 7f8519d5e000-7f8519ed0000 r-xp 00000000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
1 e" D8 u* X! z# J! R 22 7f8519ed0000-7f851a0d0000 ---p 00172000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21& z0 M+ _& R: ?
23 7f851a0d0000-7f851a0da000 r--p 00172000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.217 G2 ^! v$ d* s$ J6 h" Z/ {
24 7f851a0da000-7f851a0dc000 rw-p 0017c000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
* B9 T7 h3 N; T3 e3 Y 25 7f851a0dc000-7f851a0e0000 rw-p 00000000 00:00 0& ]3 h# F% {5 c ]5 H- Z
26 7f851a0e0000-7f851a0ec000 r-xp 00000000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
5 {" l7 f# S" @5 E. j q! k) S6 g 27 7f851a0ec000-7f851a2eb000 ---p 0000c000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
! b2 I7 ^# {; z9 {1 R; h* M7 | 28 7f851a2eb000-7f851a2ec000 r--p 0000b000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
/ X" L7 L& C m5 Y$ ?: z 29 7f851a2ec000-7f851a2ed000 rw-p 0000c000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.19 F: e/ Z" \& S
30 7f851a2ed000-7f851a2fb000 rw-p 00000000 00:00 0/ Z4 M0 k7 \5 p6 w! G/ X+ ?
31 7f851a2fb000-7f851a4bb000 r-xp 00000000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so0 k, V7 y" J8 l y
32 7f851a4bb000-7f851a6bb000 ---p 001c0000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so. Z! E* n. G; X4 j2 `( _
33 7f851a6bb000-7f851a6bf000 r--p 001c0000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so
; b& N/ @+ H% K' M 34 7f851a6bf000-7f851a6c1000 rw-p 001c4000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so
. l8 i# L, ~+ |9 M9 X @ 35 7f851a6c1000-7f851a6c5000 rw-p 00000000 00:00 0$ f) W- |( C. X; ~3 H5 X& ^, z: N
36 7f851a6c5000-7f851a6d3000 r-xp 00000000 00:00 265143 /usr/lib/libprofiler.so.0.4.5
9 m6 o5 n1 k6 q! P 37 7f851a6d3000-7f851a8d3000 ---p 0000e000 00:00 265143 /usr/lib/libprofiler.so.0.4.5
; k! X6 O( K$ R- i' W 38 7f851a8d3000-7f851a8d4000 r--p 0000e000 00:00 265143 /usr/lib/libprofiler.so.0.4.5- j8 v1 P5 `: Z1 q! ]- m$ X
39 7f851a8d4000-7f851a8d5000 rw-p 0000f000 00:00 265143 /usr/lib/libprofiler.so.0.4.5
# i+ w& _" }. r/ F" i 40 7f851a8d5000-7f851a8d9000 rw-p 00000000 00:00 0* J) p+ B" c7 f9 V: Z2 L/ R$ H6 b- e0 s
" E: @7 y7 t2 k$ L
|
|