找回密码
 注册
关于网站域名变更的通知
查看: 396|回复: 2
打印 上一主题 下一主题

从gperftools生成prof 4331字节转换pdf后为什么大小是0?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-7-30 13:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

该用户从未签到

2#
发表于 2020-7-30 14:11 | 只看该作者
这么神奇吗,嘿嘿

该用户从未签到

3#
 楼主| 发表于 2020-7-30 19:37 | 只看该作者
多谢各位的关注,原因找到了,程序实现太简单,写上个几百万次的循环,里面做些加减乘除的运行,就可以看到gperf性能输出效果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:09 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表