|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
想在服务器程序中使用gpeRFtools分析性能。目前正在学习使用中。
# q/ Z E6 b) G6 X写一个非常简单的hello.c程序,虽然程序简单,怎么说都应该有哪怕一句性能输出,可结果完全意外,myperf.prof 大小4331,转成pdf大小为0,可自动退出的简单程序尚且无法输出文件,无法自动退出的服务器程序就更不可能了,特别沮丧,哪位大神可以帮指点以下?2 |; u# N- |: b8 l2 k1 C1 L! t" k+ S
究竟用法上问题处在哪?; e, A- A' D5 ]. ^- o5 s' a( T+ f
8 d! m8 d% `) |; f0 W5 h不胜感激8 x5 F) e# w0 u" n* J/ l
$ g% E: f1 L+ ohello.c内容:
' u( [, f( L. g1 @
' M% A) Q Y) @& D6 r7 d8 H1 _; n5 pvoid main()
& I& `% P& w/ n4 q, M' ]{
/ V% z$ V5 s. W int i = 0;1 k& c% ^% m1 R0 `3 }! n, V. Z
while(i < 100)
$ c2 I) d6 r! O0 v5 Z {* x# x& m9 m9 Y9 `$ \
sleep(1);+ v* S$ E- B, G3 c4 L2 E4 x
printf("hello worlde %d \n",i);, {* D, G- H3 }! g E H
}
9 j8 x* b4 I0 e* ]5 o# L. x: o- m. M3 u! W1 T/ P
return;
$ V) }! j) B, d v6 J: d}
4 }. e- {" U0 f7 @* L# e& Y
" I" |" K+ Y$ f( `# S( ^/ R H) v0 m5 |1 K
尝试是否可以输出性能文件。0 v \, L* M' \: u
gperftools安装略过。
' v8 S& G7 y) Q1 L, `编译及执行命令:
0 }! S, Q1 ?7 E! L. m7 t7 _/ o$ f$ gcc -o hello hello.c5 l' \1 X R* c1 C9 g
$ env CPUPROFILE=myperf.prof LD_PRELOAD=/usr/lib/libprofiler.so ./hello
9 x: l6 |' o( k8 ^% J4 A% z4 n6 Z# L C
输出结果:
$ X% \/ b+ ^5 L$ W9 a% x+ Q E-rw-rw-r-- 1 xxx xxx 4331 6月 25 23:34 myperf.prof
8 u9 F) M$ n" \6 _/ y( S, A-rw-rw-r-- 1 xxx xxx 0 6月 25 23:34 perf.pdf; ^# k9 ]; h/ q3 L& y. v
: C; p* a% l! a" H# ~! \# h3 H$ pprof --pdf /home/xxx/hello myperf.prof>perf.pdf( _1 B' {* I. [4 y
Using local file /home/xxx/hello.) w2 t, [. i$ ~3 {& {# T( h
Using local file myperf.prof.
_: z: ^8 g2 x9 R4 q( ENo nodes to print
1 C0 G( q$ S( u; S1 b
9 C# p2 k6 R" @& Wmyperf.prof内容:
! q- l9 ~3 Z$ z 4 01e32000-01e64000 rw-p 00000000 00:00 0 [heap]0 d3 b: J: L! ~5 c; A; _( t" ]
5 7f8519007000-7f8519419000 rw-p 00000000 00:00 0
) t5 _) T, G1 G. ~2 W5 u& F$ l 6 7f8519419000-7f851941c000 r-xp 00000000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so
7 c. a. C( A0 J5 C! C# g% e4 q 7 7f851941c000-7f851961b000 ---p 00003000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so
) c$ V8 R$ v) K0 `. N" C 8 7f851961b000-7f851961c000 r--p 00002000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so8 L/ |9 b/ H6 @$ B- @) ^
9 7f851961c000-7f851961d000 rw-p 00003000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so
' Z- b# _" S1 { 10 7f851961d000-7f8519633000 r-xp 00000000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1$ ]& x0 Z* a3 W" y# r; x/ ^
11 7f8519633000-7f8519832000 ---p 00016000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1, s' \/ q9 f8 T, x
12 7f8519832000-7f8519833000 rw-p 00015000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1
: @ v, [# o* B' F2 }: t" A( o 13 7f8519833000-7f851993b000 r-xp 00000000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so0 N4 v# K9 P6 d3 y# c# C$ d
14 7f851993b000-7f8519b3a000 ---p 00108000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so
$ G e1 S4 `% @6 V$ O2 j: t 15 7f8519b3a000-7f8519b3b000 r--p 00107000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so& S9 c5 L, Y! U" K9 b4 L
16 7f8519b3b000-7f8519b3c000 rw-p 00108000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so
: v6 C, b. @" o' {0 n' W 17 7f8519b3c000-7f8519b5d000 r-xp 00000000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0: T9 C" p* c! R8 z9 h
18 7f8519b5d000-7f8519d5c000 ---p 00021000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
z' x5 v5 q. ~* j/ H: r 19 7f8519d5c000-7f8519d5d000 r--p 00020000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
& H# O0 T8 x% h% t( F$ R. o 20 7f8519d5d000-7f8519d5e000 rw-p 00021000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
& R" l3 c1 ~) o9 \+ k 21 7f8519d5e000-7f8519ed0000 r-xp 00000000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21* F: D% S+ z, w3 e, N6 E
22 7f8519ed0000-7f851a0d0000 ---p 00172000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21; A' \) @- b w8 b
23 7f851a0d0000-7f851a0da000 r--p 00172000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
* s: X. f3 p0 X# I 24 7f851a0da000-7f851a0dc000 rw-p 0017c000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
8 e& }5 s6 u+ X5 C# H; s! h 25 7f851a0dc000-7f851a0e0000 rw-p 00000000 00:00 0" g' p8 _, n" V; G- A! ?
26 7f851a0e0000-7f851a0ec000 r-xp 00000000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
- ]$ S1 t* j; t, n2 G" j& y8 v. v 27 7f851a0ec000-7f851a2eb000 ---p 0000c000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.16 O. {' l! U- S, l! H% O% m
28 7f851a2eb000-7f851a2ec000 r--p 0000b000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1( R. G6 Y7 `$ c/ W
29 7f851a2ec000-7f851a2ed000 rw-p 0000c000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1$ e( Q' C: b0 j/ c
30 7f851a2ed000-7f851a2fb000 rw-p 00000000 00:00 0
$ Z/ s; {& m+ D! p 31 7f851a2fb000-7f851a4bb000 r-xp 00000000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so% K; A; m: ~9 t1 e8 M* z/ O/ ^
32 7f851a4bb000-7f851a6bb000 ---p 001c0000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so
! {4 Y( h1 p7 s, q 33 7f851a6bb000-7f851a6bf000 r--p 001c0000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so
2 C- H; d) q5 `- q9 d 34 7f851a6bf000-7f851a6c1000 rw-p 001c4000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so8 }7 o# Z* Y& _& O+ ^" e; x c, J- J6 B
35 7f851a6c1000-7f851a6c5000 rw-p 00000000 00:00 08 U8 _# P( l# A; E8 g( {
36 7f851a6c5000-7f851a6d3000 r-xp 00000000 00:00 265143 /usr/lib/libprofiler.so.0.4.54 a( s, P$ X1 d, d6 I
37 7f851a6d3000-7f851a8d3000 ---p 0000e000 00:00 265143 /usr/lib/libprofiler.so.0.4.5
/ @) t$ }( R, Z9 m 38 7f851a8d3000-7f851a8d4000 r--p 0000e000 00:00 265143 /usr/lib/libprofiler.so.0.4.5% _$ {1 ~" ~- {2 F: U+ U( W
39 7f851a8d4000-7f851a8d5000 rw-p 0000f000 00:00 265143 /usr/lib/libprofiler.so.0.4.5! L+ [, K. _5 ~5 ^6 Y7 L
40 7f851a8d5000-7f851a8d9000 rw-p 00000000 00:00 02 W3 }4 a2 Q! X6 X: T3 i
. f# |1 Q9 w: }7 Y2 l$ _8 A: C |
|