访问共享库时FreeBSD上的性能问题! [英] Performance problems on FreeBSD when accessing shared libraries!

查看:87
本文介绍了访问共享库时FreeBSD上的性能问题!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好!



我们在一个embedeed系统上使用FreeBSD 8.2,在访问共享库时面临一个严重的问题。





在FreeBSD上执行二进制文件时,执行性能正常。如果其他二进制文件(或相同的)稍后访问同一个库,则性能会下降,执行该二进制文件需要花费32倍的时间。



示例:



[xyz @ abc:/ home / tech] $ time bsdtar -c -z -f blaj.tar / root / fil5

bsdtar:从会员名称中删除前导'/'



真实0m1.580s

用户0m1.259s

sys 0m0.094s



[xyz @ abc:/ home / tech] $ md5 / lib / * | tail

MD5 (/lib/libncurses.so.8)= 4c3a4e81c6809c036fb7890ec8ca5da6

MD5(/lib/libncursesw.so.8)= f3d25d899f2824d1ae25587c8b4627ac

MD5(/lib/libpcap.so。 7)= 2e01c2516512c79098dd8141dca5b692

MD5(/lib/libreadline.so.8)= aacf63c65af272d50e24fd4419832ca7

MD5(/lib/libsbuf.so.5)= 822bca7648230400ab31c52bca9b5d57

MD5(/lib/libssp.so.0)= e3b84bdab817677c111aa2eda18b5585

MD5(/lib/libthr.so.3)= e9c612ba80c93dc691a42a1 e0a45b3b6

MD5(/lib/libufs.so.5)= adbbec21f31590d67e653f2b4d611441

MD5(/lib/libutil.so.8)= 402925e0b90f5720b1afd63be763c3c8

MD5(/lib/libz.so.5)= d9451d770482bec21475a466d6ecba97





[xyz @ abc:/ home / tech] $ time bsdtar -c -z -f blaj.tar / root / fil5

bsdtar:从会员名称中删除前导'/'



real 0m43 .726s

用户0m43.533s

系统0m0.083s



[xyz @ abc:/ home /技术] $ time bsdtar -c -z -f blaj.tar / root / fil5

bsdtar:从会员名称中删除前导'/'


real 0m43.766s

用户0m43.564s

sys 0m0.091s

[xyz @ abc:/ home / tech] $ < br $> b $ b



似乎这种情况发生在动态链接的所有可执行文件中。



知道什么可能导致性能问题吗?也许文件系统的东西是错的?为Linux系统编译的相同二进制文件没有任何问题?!



视为



AR

解决方案

time bsdtar -c -z -f blaj.tar / root / fil5

bsdtar:从成员名称中删除前导'/' br />


真实0m1.580s

用户0m1.259s

sys 0m0.094s



[xyz @ abc:/ home / tech]


md5 / lib / * | tail

MD5(/ lib / libncurses.so.8)= 4c3a4e81c6809c036fb7890ec8ca5da6

MD5(/lib/libncursesw.so.8)=f3d25d899f2824d1ae25587c8b4627ac

MD5(/lib/libpcap.so.7)=2e01c2516512c79098dd8141dca5b692

MD5(/lib/libreadline.so.8)= aacf63c65af272d50e24fd4419832ca7

MD5(/lib/libsbuf.so.5)= 822bca7648230400ab31c52bca9b5d57

MD5(/lib/libssp.so.0)= e3b84bdab817677c111aa2eda18b5585

MD5(/lib/libthr.so.3)= e9c612ba80c93dc691a42a1e0a45b3b6

MD5(/ lib / li bufs.so.5)= adbbec21f31590d67e653f2b4d611441

MD5(/lib/libutil.so.8)= 402925e0b90f5720b1afd63be763c3c8

MD5(/lib/libz.so.5)=d9451d770482bec21475a466d6ecba97





[xyz @ abc:/ home / tech]


time bsdtar -c - z -f blaj.tar / root / fil5

bsdtar:删除会员名称中的前导'/'



real 0m43.726s

用户0m43.533s

sys 0m0.083s



[xyz @ abc:/ home / tech]

Hello!

We are using FreeBSD 8.2 on an embedeed system and facing one serious problem when accesing shared libraries.


When executing a binary on FreeBSD the execution performance is normal. If an other binary(or the same) is accessing the same library later then the performance is going down and it takes 32 times longer as normal for execution of that binary.

Example:

[xyz@abc:/home/tech]$ time bsdtar -c -z -f blaj.tar /root/fil5
bsdtar: Removing leading '/' from member names

real 0m1.580s
user 0m1.259s
sys 0m0.094s

[xyz@abc:/home/tech]$ md5 /lib/* |tail
MD5 (/lib/libncurses.so.8) = 4c3a4e81c6809c036fb7890ec8ca5da6
MD5 (/lib/libncursesw.so.8) = f3d25d899f2824d1ae25587c8b4627ac
MD5 (/lib/libpcap.so.7) = 2e01c2516512c79098dd8141dca5b692
MD5 (/lib/libreadline.so.8) = aacf63c65af272d50e24fd4419832ca7
MD5 (/lib/libsbuf.so.5) = 822bca7648230400ab31c52bca9b5d57
MD5 (/lib/libssp.so.0) = e3b84bdab817677c111aa2eda18b5585
MD5 (/lib/libthr.so.3) = e9c612ba80c93dc691a42a1e0a45b3b6
MD5 (/lib/libufs.so.5) = adbbec21f31590d67e653f2b4d611441
MD5 (/lib/libutil.so.8) = 402925e0b90f5720b1afd63be763c3c8
MD5 (/lib/libz.so.5) = d9451d770482bec21475a466d6ecba97


[xyz@abc:/home/tech]$ time bsdtar -c -z -f blaj.tar /root/fil5
bsdtar: Removing leading '/' from member names

real 0m43.726s
user 0m43.533s
sys 0m0.083s

[xyz@abc:/home/tech]$ time bsdtar -c -z -f blaj.tar /root/fil5
bsdtar: Removing leading '/' from member names

real 0m43.766s
user 0m43.564s
sys 0m0.091s
[xyz@abc:/home/tech]$


It seems that this is happening with all executable that link dynamically.

Any idea what could cause that performance problem? Maybe something with the filesystem is wrong? The same binaries compiled for a Linux system are working without any problems?!

regards

AR

解决方案

time bsdtar -c -z -f blaj.tar /root/fil5
bsdtar: Removing leading '/' from member names

real 0m1.580s
user 0m1.259s
sys 0m0.094s

[xyz@abc:/home/tech]


md5 /lib/* |tail
MD5 (/lib/libncurses.so.8) = 4c3a4e81c6809c036fb7890ec8ca5da6
MD5 (/lib/libncursesw.so.8) = f3d25d899f2824d1ae25587c8b4627ac
MD5 (/lib/libpcap.so.7) = 2e01c2516512c79098dd8141dca5b692
MD5 (/lib/libreadline.so.8) = aacf63c65af272d50e24fd4419832ca7
MD5 (/lib/libsbuf.so.5) = 822bca7648230400ab31c52bca9b5d57
MD5 (/lib/libssp.so.0) = e3b84bdab817677c111aa2eda18b5585
MD5 (/lib/libthr.so.3) = e9c612ba80c93dc691a42a1e0a45b3b6
MD5 (/lib/libufs.so.5) = adbbec21f31590d67e653f2b4d611441
MD5 (/lib/libutil.so.8) = 402925e0b90f5720b1afd63be763c3c8
MD5 (/lib/libz.so.5) = d9451d770482bec21475a466d6ecba97


[xyz@abc:/home/tech]


time bsdtar -c -z -f blaj.tar /root/fil5
bsdtar: Removing leading '/' from member names

real 0m43.726s
user 0m43.533s
sys 0m0.083s

[xyz@abc:/home/tech]


这篇关于访问共享库时FreeBSD上的性能问题!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆