1.安装 valgrind yum install valgrind 2.测试用例 main.cpp #include <iostream> using namespace std; struct StockInfo { int iMarket; string sCode; StockInfo() : iMarket(0) { } }; int main() { StockInfo *pStockInfo = new StockInfo; pStockInfo->iMarket = 1;…
用C/C++开发其中最令人头疼的一个问题就是内存管理,有时候为了查找一个内存泄漏或者一个内存访问越界,需要要花上好几天时间,如果有一款工具能够帮助我们做这件事情就好了,valgrind正好就是这样的一款工具. Valgrind是一款基于模拟linux下的程序调试器和剖析器的软件套件,可以运行于x86, amd64和ppc32架构上.valgrind包含一个核心,它提供一个虚拟的CPU运行程序,还有一系列的工具,它们完成调试,剖析和一些类似的任务.valgrind是高度模块化的,所以开发人员或者用…
linux下的CPU.内存.IO.网络的压力测试  要远程测试其实很简单了,把结果放到一个微服务里直接在web里查看就可以了,或者同步到其他服务器上 一.对CPU进行简单测试: 1.通过bc命令计算特别函数 例:计算圆周率 echo "scale=5000; 4*a(1)" | bc -l -q MATH LIBRARY        If bc is invoked with the -l option, a math library is preloaded and the def…
linux下的CPU.内存.IO.网络的压力测试 https://www.cnblogs.com/zhuochong/p/10185881.html 一.对CPU进行简单测试: 1.通过bc命令计算特别函数 例:计算圆周率 echo "scale=5000; 4*a(1)" | bc -l -q MATH LIBRARY        If bc is invoked with the -l option, a math library is preloaded and the def…
本文主要介绍如何如何利用在使用JProfiler时意识到内存泄漏以及查找内存泄漏的几种方法. 工具/原料   JProfiler 方法/步骤   JProfiler的内存视图会话提供了内存使用情况的动态更新视图以及分配点的信息视图.所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象.本文主要介绍如何意识到内存泄漏以及查找内存泄漏的几种方法. 意识到内存泄漏 怀疑内存泄漏的第一步就是查看 "Memory"和"Recorded objects" 遥感…
linux下对进程按照内存使用情况进行排序的命令为:ps aux --sort -rss 详细解说参见 http://alvinalexander.com/linux/unix-linux-process-memory-sort-ps-command-cpu…
谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH  PKG_CONFIG_PATH 转载自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=23069658&id=4028681 学习到了一个阶段之后,就需要不断的总结.沉淀.清零,然后才能继续“上路”.回想起自己当年刚接触Linux时,不管是用源码包编译程序,还是程序运行时出现的和动态库的各种恩恩怨怨,心里那真叫一个难受.那时候脑袋里曾经…
浅析Linux下进程间通信:共享内存 共享内存允许两个或多个进程共享一给定的存储区.因为数据不需要在客户进程和服务器进程之间复制,所以它是最快的一种IPC.使用共享内存要注意的是,多个进程之间对一给定存储区的同步访问. 主要用到的函数有:shmget(),shmctl(),shmat(),shmdt(),下面一一介绍: 一.shmget()函数 函数原型如下: #include <sys/ipc.h> #include <sys/shm.h> int shmget(key_t ke…
Linux下jmap命令查看内存使用 jmap -heap 1234(1234为进程号) jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: -heap       打印heap空间的概要,这里可以粗略的检验heap空间的使用情况.例:jmap -heap 12345输出:Attaching to process ID 2657, please wait...Debugger attached successfully.Client compiler detected.JVM ver…
2.Linux下C程序的内存映像 2.1. 代码段.只读数据段(1)对应着程序中的代码(函数),代码段在Linux中又叫文本段(.text)(2)只读数据段就是在程序运行期间只能读不能写的数据,const修饰的常量有可能是存在只读数据段的(但也不一定,const常量的实现方法在不同平台是不一样的)2.2.数据段.bss段(1)数据段存:1.显式初始化为非0的全局变量:2.显式初始化为非0的static局部变量(2)bss段存:1.显式初始化为0或者未显示初始化的全局变量:2.显式初始化为0或未显…