对linux下各种profiling工具的心得
来源:互联网 发布:乐乎公寓工作怎么样 编辑:程序博客网 时间:2024/05/29 17:40
第一次写这种技术博客,本着一颗分享技术的心,希望能和大家多多交流和学习。
最近在公司实习,一直用Linux,要对一个比较大的服务器进行性能测试,过程中遇到了诸多问题,在此和大家分享一下。
总结一下前两天用profile工具时遇到的问题和自己切身的感受吧,这也算是我这两天弄得我相当头疼的一个问题。首先我用的第一个工具是valgrind,valgrind有很多强大的工具,我这里要用到的是callgrind,我们公司的开发机测试机上预装了这个东西,所以不用自己安装。由于第一次接触这种性能测试的东西,各方面都还不太明白,所以自己捣鼓了半天,发现这个东西只能是哪个用户自己编译安装的valgrind哪个用户才能用这个。被逼无奈之下,自己找了安装包手动编译安装了下。总算是能用了,我用这个启动服务器,然后我就在等服务器启动完,这一等就是将近三个小时,然后日志中还报错了,内存貌似是溢出了,所以说用valgrind尽量不要测试那种大型的服务器。然后我接着又准备用第二个工具,oprofile。感觉这是一个相当强大的工具,但是这个oprofile用起来是相当坑爹(也可能是我比较笨)。几经查找发现,这个oprofile只能是具有root权限的用户才能使用。同事也相当热心,直接就给了我台root权限的机器。部署好了系统的环境后,又发现这机器根本就无法启动服务器,内存太小了。无语之下,又听说还有个profiling的东西,于是我便转向了我用的第三个工具,gprof。鉴于前两次的失败,我总算是对这类东西有了一定的了解,然后用这个的时候也算是轻车熟路。但仔细一看,发现这个也是有一定问题的。这个是只能检测主线程,不适应于多线程应用,显然是不符合我的要求。自己在网上找了诸多资料,发现这问题是能解决的,需要自己手动重新编译一个pthread的动态链接库。在网上搜了半天后,最后在一个国外牛人的博客上找到了这个源文件。按照要求编译好动态链接库后,放在了原工程下,重新编译了整个工程,运行测试后,最终终于得到了测试结果。
以上便是我这两天弄这个profiling的真实情况,不敢在各位大牛面前班门弄斧,只希望能给后面刚接触的人一些小小的方便。如果以上我有什么说的不对的地方,欢迎大家指出,谢谢~!
- 对linux下各种profiling工具的心得
- linux下各种工具的配置
- Linux下各种实用的安全工具打包推荐
- linux系统下的各种串口调试工具
- Linux下误删除文件的各种恢复工具
- linux下各种交叉编译工具
- Linux 下各种嵌入式开发工具集合
- linux下各种压缩解压工具
- linux下对NS2项目仿真分析的工具运用
- 对cocos2d的理解 以及win32+android下各种工具解释
- Ruby中的Profiling工具
- Ruby中的Profiling工具
- Java Profiling 工具
- 近来对指针基础、一二维数组的心得和linux下c语言的编程
- 对hadoop task进行profiling的几种方法整理
- 对hadoop task进行profiling的几种方法整理
- 常用 Java Profiling 工具的分析与比较
- 常用 Java Profiling 工具的分析与比较
- Linux添加用户(user)到用户组(group)
- 想从事大数据工作,如何自学打基础
- Android的animation由四种类型组成
- TCP/IP三种传送方式(单播,广播,组播)解析
- W3150A应用笔记--如何使用多播传输
- 对linux下各种profiling工具的心得
- Android MP3录音功能
- 已知树的前序和中序遍历,求后序遍历;后序和中序,求前序
- iOS APNS远程推送(史上最全步骤)
- 潜意识对人行为的影响--《潜意识-控制你行为的秘密》
- C#2.属性心得
- CALLBACK回调函数使用之一
- Torrent文件
- hdu2578Dating with girls(1)