|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
想在服务器程序中使用gpeRFtools分析性能。目前正在学习使用中。" L$ c: O; ^2 H9 g
写一个非常简单的hello.c程序,虽然程序简单,怎么说都应该有哪怕一句性能输出,可结果完全意外,myperf.prof 大小4331,转成pdf大小为0,可自动退出的简单程序尚且无法输出文件,无法自动退出的服务器程序就更不可能了,特别沮丧,哪位大神可以帮指点以下?
' T& A/ U, r$ J @究竟用法上问题处在哪?7 v& h4 L" m( i' `: V" z5 u$ _9 S
! _ q& W/ F/ u( S, R: {不胜感激
3 p2 q( }6 _4 x* L8 o% r
4 ?( G5 V6 e1 u/ g; K" E# xhello.c内容:
0 J8 d6 T! D r7 t9 l" N9 V5 J) h3 K3 H
void main()# h6 w7 A* C5 L/ Q0 ^" Q
{" }. _5 N0 v5 T) [
int i = 0;
. G/ G. `: N N. r while(i < 100)
6 Z& Q G, l. O1 Q8 s {: l5 i. D$ S! x# Q6 g; T: l
sleep(1);8 k8 [1 T P0 T8 P$ C
printf("hello worlde %d \n",i);
( c% @0 s$ L5 b3 F! A0 V- h/ w }, _% d4 F9 U! L; }
; K% j8 I) x% N1 h6 e
return;4 f/ f6 A0 A- }
}
3 \; y p5 g2 y6 E, `; c4 P
* N- F2 |9 o, d: W& ]/ d/ g9 k3 O. b, L# \6 ~
尝试是否可以输出性能文件。% T' r% O' x4 w& B3 @2 j+ q
gperftools安装略过。4 Z6 O; p8 F( f6 L) P
编译及执行命令:
" z# ?, i1 F, s: y* p2 t$ gcc -o hello hello.c6 @1 d0 m& H( z9 V; f% |' l7 L
$ env CPUPROFILE=myperf.prof LD_PRELOAD=/usr/lib/libprofiler.so ./hello
9 t" B! q( r; Z1 h5 O
Z# {& j, r0 n) j& A9 d( |' M输出结果:
6 F+ ?- L; p5 w6 _7 `6 R9 s-rw-rw-r-- 1 xxx xxx 4331 6月 25 23:34 myperf.prof. S: X# u" J4 i0 a) u& k j/ o" ~
-rw-rw-r-- 1 xxx xxx 0 6月 25 23:34 perf.pdf
6 j2 A" f* t8 g7 l2 K9 w
: s; ^! Q9 ?7 K3 o0 K$ pprof --pdf /home/xxx/hello myperf.prof>perf.pdf
) {3 p( T+ N( G$ ?+ ?0 K: F. [' t) MUsing local file /home/xxx/hello.1 g# I& ?; H/ Q
Using local file myperf.prof.
I/ y+ Q5 ?$ YNo nodes to print
4 q2 o5 h1 v* z5 o9 W. G
5 @% y$ M) k9 [8 i B7 omyperf.prof内容:1 f1 f# s" b% u* U8 v* G+ n. T5 O
4 01e32000-01e64000 rw-p 00000000 00:00 0 [heap] g! J5 U/ l6 q- l7 H
5 7f8519007000-7f8519419000 rw-p 00000000 00:00 0
' j6 C! i6 X8 D) E" ` 6 7f8519419000-7f851941c000 r-xp 00000000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so! ?% b! x# G+ ]0 z4 A+ l* G3 t( O( P
7 7f851941c000-7f851961b000 ---p 00003000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so
. K' R1 H, p# e 8 7f851961b000-7f851961c000 r--p 00002000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so
1 E" [! E5 I3 {4 K 9 7f851961c000-7f851961d000 rw-p 00003000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so
3 y: a# y8 E# n+ g& O1 ~ 10 7f851961d000-7f8519633000 r-xp 00000000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1/ Z7 \& E/ a j: T8 Z. k
11 7f8519633000-7f8519832000 ---p 00016000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1 h% N/ H6 ?& w9 P
12 7f8519832000-7f8519833000 rw-p 00015000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.18 B0 x4 V( k' j1 @4 S. O
13 7f8519833000-7f851993b000 r-xp 00000000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so I) g- C9 l+ E$ k& i u! i8 j6 z$ F
14 7f851993b000-7f8519b3a000 ---p 00108000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so) Y; K6 j% X% P* L
15 7f8519b3a000-7f8519b3b000 r--p 00107000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so
0 H1 z! M- e; J 16 7f8519b3b000-7f8519b3c000 rw-p 00108000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so6 ?3 h$ s' }( x7 N6 S: e
17 7f8519b3c000-7f8519b5d000 r-xp 00000000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
, f) {, n) k/ N; K 18 7f8519b5d000-7f8519d5c000 ---p 00021000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0- Q. W( ?, X. W4 H. h
19 7f8519d5c000-7f8519d5d000 r--p 00020000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0; F) p7 {) t6 u m0 C% _& B* I
20 7f8519d5d000-7f8519d5e000 rw-p 00021000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
6 [# t# ?; k2 ]9 d# S 21 7f8519d5e000-7f8519ed0000 r-xp 00000000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21* Z# ~" @: G5 ~1 E+ J: u' Z5 q
22 7f8519ed0000-7f851a0d0000 ---p 00172000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21- [' b" S; S9 o7 G
23 7f851a0d0000-7f851a0da000 r--p 00172000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21/ v: D" p J5 g3 W( U
24 7f851a0da000-7f851a0dc000 rw-p 0017c000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
% v) |9 }6 `- f9 J+ ~ 25 7f851a0dc000-7f851a0e0000 rw-p 00000000 00:00 0
9 K# {9 F+ ~- M6 ]) H 26 7f851a0e0000-7f851a0ec000 r-xp 00000000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1- p9 g1 K8 H |/ E% I5 j
27 7f851a0ec000-7f851a2eb000 ---p 0000c000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
2 E6 e3 m$ h) P f 28 7f851a2eb000-7f851a2ec000 r--p 0000b000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1+ v$ O9 W k! o- b3 u% a
29 7f851a2ec000-7f851a2ed000 rw-p 0000c000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
. y+ n! `& j& M7 K( S$ W 30 7f851a2ed000-7f851a2fb000 rw-p 00000000 00:00 0
4 n1 V9 s2 h. L0 `2 a* c, Q2 H+ G 31 7f851a2fb000-7f851a4bb000 r-xp 00000000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so' |& ^$ v' l) n
32 7f851a4bb000-7f851a6bb000 ---p 001c0000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so$ g" b5 ] C/ R* T! t( M! n C: P/ j5 |
33 7f851a6bb000-7f851a6bf000 r--p 001c0000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so
5 }) m, f2 r! ~ 34 7f851a6bf000-7f851a6c1000 rw-p 001c4000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so2 t* l/ \' _9 o2 S! z5 O% h
35 7f851a6c1000-7f851a6c5000 rw-p 00000000 00:00 0
7 n2 j& X3 b8 H( Z+ \ 36 7f851a6c5000-7f851a6d3000 r-xp 00000000 00:00 265143 /usr/lib/libprofiler.so.0.4.53 A$ E. z2 y# F! v' Z
37 7f851a6d3000-7f851a8d3000 ---p 0000e000 00:00 265143 /usr/lib/libprofiler.so.0.4.5
' g* I P( v% h7 M$ M' o! \ 38 7f851a8d3000-7f851a8d4000 r--p 0000e000 00:00 265143 /usr/lib/libprofiler.so.0.4.52 r- n- u2 B; n
39 7f851a8d4000-7f851a8d5000 rw-p 0000f000 00:00 265143 /usr/lib/libprofiler.so.0.4.53 M$ Z4 V; s) h# n& V
40 7f851a8d5000-7f851a8d9000 rw-p 00000000 00:00 0
* U; p- U& e" A; a, Q6 ^ j
3 C f/ |! H0 T# b3 W3 s |
|