|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
想在服务器程序中使用gpeRFtools分析性能。目前正在学习使用中。; d) f5 }! l9 \+ ~! ^; t
写一个非常简单的hello.c程序,虽然程序简单,怎么说都应该有哪怕一句性能输出,可结果完全意外,myperf.prof 大小4331,转成pdf大小为0,可自动退出的简单程序尚且无法输出文件,无法自动退出的服务器程序就更不可能了,特别沮丧,哪位大神可以帮指点以下?
" C3 g! A0 Y8 o8 F. @' l* u究竟用法上问题处在哪?- X L2 Z, y- m
- g/ I) e4 t3 F' [# x
不胜感激![]()
. u7 N+ Y% {) A. J. f5 T# J7 U* E- ^7 R9 I, j* j5 q3 k
hello.c内容:
5 Y. h9 }6 P u( T5 y* j! g
. m% _- t1 g1 s5 e$ _% [7 Wvoid main()( z9 t+ |9 u# @" x2 E
{; `* Z2 Q) q% x0 }
int i = 0;
m0 T4 E1 A i O7 S while(i < 100)" e7 S2 c7 z/ t/ S+ e1 B
{( W& x1 q# b& P7 }* s
sleep(1);
! y/ r% y8 v6 m* `& j8 P9 k. \ printf("hello worlde %d \n",i);
K" p! K3 x# J E9 M6 G. Q' v }
: n* q) p9 v) Q/ o$ f% D
! i1 H6 s* E+ e% F% S2 b! Y" F! W return;
% [4 g! P f0 P}
( V! F; [& b% I: }( T7 p
5 h6 w; B# y/ T6 t, \2 |0 E3 S) @) M& `: N) P. L& p5 s0 \
尝试是否可以输出性能文件。- p- L3 V5 Q- I* c
gperftools安装略过。
( c: T" X9 J, T; \, C编译及执行命令:6 f5 s6 c9 o. T) r! d K4 w% m1 q
$ gcc -o hello hello.c6 L4 j& z. U! ~- V& Z# F$ a# `
$ env CPUPROFILE=myperf.prof LD_PRELOAD=/usr/lib/libprofiler.so ./hello
5 y A7 x3 R6 |( Q- K, I
) s+ C& k% V, T9 u' J: Q输出结果:
4 A7 }+ W1 Y3 b- ^% q-rw-rw-r-- 1 xxx xxx 4331 6月 25 23:34 myperf.prof
9 X6 \7 n2 b$ P-rw-rw-r-- 1 xxx xxx 0 6月 25 23:34 perf.pdf1 \( ]' ~+ l/ @6 S4 G& A
, @! c% W+ L, I0 p# F3 N$ pprof --pdf /home/xxx/hello myperf.prof>perf.pdf
& X$ f. Q, [! W7 iUsing local file /home/xxx/hello.' R H- A1 w7 ?1 D- z1 r8 r ]( d
Using local file myperf.prof.1 U* }; R0 i, K- _
No nodes to print; f8 t `8 P6 I8 r% \/ N" S
) M+ `. p, i# V7 x
myperf.prof内容:# w/ s4 ~9 r, X6 `8 n6 o
4 01e32000-01e64000 rw-p 00000000 00:00 0 [heap]0 t. b9 m! C( L( V% d" f
5 7f8519007000-7f8519419000 rw-p 00000000 00:00 0
. V3 k, [% L9 N0 Y& x4 U) a$ U: { 6 7f8519419000-7f851941c000 r-xp 00000000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so
+ L/ }' b6 Q$ I6 P7 \2 j 7 7f851941c000-7f851961b000 ---p 00003000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so& Y/ X$ [" h, X
8 7f851961b000-7f851961c000 r--p 00002000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so# v& B2 O# ?' O! D' f
9 7f851961c000-7f851961d000 rw-p 00003000 00:00 535279 /lib/x86_64-linux-gnu/libdl-2.23.so+ ~# P+ v5 E3 v
10 7f851961d000-7f8519633000 r-xp 00000000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1 }* B$ H- Q2 q! T# C- v
11 7f8519633000-7f8519832000 ---p 00016000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1
- v _1 k* }0 s: A# w! ^, v4 k% u5 ~$ A 12 7f8519832000-7f8519833000 rw-p 00015000 00:00 529546 /lib/x86_64-linux-gnu/libgcc_s.so.1
# K: N- U" R$ |1 ^ 13 7f8519833000-7f851993b000 r-xp 00000000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so+ I& i3 y& C. K$ J3 f
14 7f851993b000-7f8519b3a000 ---p 00108000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so3 _! P4 j' j u, j- k1 n! x
15 7f8519b3a000-7f8519b3b000 r--p 00107000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so
6 V1 U, i/ v$ A; z* j: d 16 7f8519b3b000-7f8519b3c000 rw-p 00108000 00:00 535357 /lib/x86_64-linux-gnu/libm-2.23.so7 G" M" h" w( C. H7 P7 d
17 7f8519b3c000-7f8519b5d000 r-xp 00000000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.06 D4 R1 Z) |( U6 E
18 7f8519b5d000-7f8519d5c000 ---p 00021000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
: C. Q; j- [! k0 [9 J, _ 19 7f8519d5c000-7f8519d5d000 r--p 00020000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
6 x8 Y( U+ y, X" h& ? 20 7f8519d5d000-7f8519d5e000 rw-p 00021000 00:00 529575 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7 H/ U! K5 M- d4 t$ j 21 7f8519d5e000-7f8519ed0000 r-xp 00000000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21! N2 a( ^# B2 K S/ R
22 7f8519ed0000-7f851a0d0000 ---p 00172000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.216 }& ?0 u" b. e3 V
23 7f851a0d0000-7f851a0da000 r--p 00172000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
6 `* v; f. [' ?& l* J+ H' H 24 7f851a0da000-7f851a0dc000 rw-p 0017c000 00:00 262189 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
! S) D7 I6 e% Y2 U7 [. A6 z# I, Z4 ] 25 7f851a0dc000-7f851a0e0000 rw-p 00000000 00:00 0$ T: F; r* ^0 ]2 Y
26 7f851a0e0000-7f851a0ec000 r-xp 00000000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1* Q% L8 x1 f; n
27 7f851a0ec000-7f851a2eb000 ---p 0000c000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1* k3 K5 Z5 d* Q5 v
28 7f851a2eb000-7f851a2ec000 r--p 0000b000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1' t% L, b' E$ C. ]$ D4 Z m
29 7f851a2ec000-7f851a2ed000 rw-p 0000c000 00:00 274049 /usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
# j) M f+ h% [# r) C 30 7f851a2ed000-7f851a2fb000 rw-p 00000000 00:00 0
) ` ]9 ]0 H, c 31 7f851a2fb000-7f851a4bb000 r-xp 00000000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so
9 x9 m, C Z) K6 e/ t: k. y 32 7f851a4bb000-7f851a6bb000 ---p 001c0000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so3 v4 [, @* a }% ~" Y' V" ^+ a
33 7f851a6bb000-7f851a6bf000 r--p 001c0000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so
6 s( p; E5 i3 ?1 t+ [. _ 34 7f851a6bf000-7f851a6c1000 rw-p 001c4000 00:00 535351 /lib/x86_64-linux-gnu/libc-2.23.so. @# H) p6 }: p2 f6 b8 L& o
35 7f851a6c1000-7f851a6c5000 rw-p 00000000 00:00 07 ^% N9 b+ |* P& ?; c7 I
36 7f851a6c5000-7f851a6d3000 r-xp 00000000 00:00 265143 /usr/lib/libprofiler.so.0.4.53 b1 N3 l1 h1 M# J
37 7f851a6d3000-7f851a8d3000 ---p 0000e000 00:00 265143 /usr/lib/libprofiler.so.0.4.52 a" G6 k% V& B, {! N" P
38 7f851a8d3000-7f851a8d4000 r--p 0000e000 00:00 265143 /usr/lib/libprofiler.so.0.4.54 S" j9 N5 R" B2 t% X
39 7f851a8d4000-7f851a8d5000 rw-p 0000f000 00:00 265143 /usr/lib/libprofiler.so.0.4.52 @, q; ~" q1 V7 v% B
40 7f851a8d5000-7f851a8d9000 rw-p 00000000 00:00 08 i7 t- M8 X# L1 P8 h/ B+ g3 `
# k) D& E, j: J. w |
|