linux
文章平均质量分 53
壊壊壊人噢
勤劳的码农
展开
-
为线程设置名字
在linux下开发的多线程系统中, 每个线程的调试和监控一直比较麻烦, 无法精准定位, 现在有了解决办法了. int prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5);PR_SET_NAME (since Linux 2.6.9)Set原创 2013-08-23 19:56:46 · 1996 阅读 · 0 评论 -
Tcmalloc源码分析-1
原文: http://blog.csdn.net/lchjustc/article/details/6867698转载 2013-11-01 19:25:30 · 831 阅读 · 0 评论 -
tcmalloc相关文章
原文: http://dirlt.com/tcmalloc.html转载 2013-11-01 19:36:22 · 539 阅读 · 0 评论 -
/proc/meminfo文件分析
下篇文章会简单对读出该信息的代码进行简单的分析。MemTotal: 507480 kB MemFree: 10800 kB Buffers: 34728 kB Cached: 98852 kB SwapCached: 128 kB Active: 304248 k转载 2013-12-17 16:50:38 · 538 阅读 · 0 评论 -
测试linux下 fprintf fwrite write mmap 等写文件的速度
/***************************************************************** 说明: 用不同的方法,测试写文件的速度,测试结果表明* 改变COUNT的值,将改变写入文件的大小* 测试CPU使用率方法: /usr/bin/time -f "CPU: %P" ./a.out 1 * ***********转载 2014-01-22 14:04:55 · 2504 阅读 · 2 评论 -
linux read/write和fread/fwrite有什么区别
1,fread是带缓冲的,read不带缓冲.2,fopen是标准c里定义的,open是POSIX中定义的.3,fread可以读一个结构.read在linux/unix中读二进制与普通文件没有区别.4,fopen不能指定要创建文件的权限.open可以指定权限.5,fopen返回指针,open返回文件描述符(整数).6,linux/unix中任何设备都是文件转载 2014-01-22 10:59:48 · 643 阅读 · 0 评论 -
Linux多线程编程详细解析----条件变量 pthread_cond_t
Linux操作系统下的多线程编程详细解析----条件变量 1.初始化条件变量pthread_cond_init#include int pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *cattr);返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。转载 2014-06-29 12:33:20 · 551 阅读 · 0 评论 -
linux下一般程序运行时查找动态库的顺序
linux下一般程序运行时查找动态库的顺序:a.根据环境变量LD_LIBRARY_PATH查找b.根据/etc/ld.so.cache查找c.查找依次在/lib和/usr/lib目录查找。a 举例:由于动态库的链接和运行时的目录是分开指定的,所以编译通过后,运行时boost库找不到的问题存在于当前工程中。解决办法就是设置外环境变量LD_LIBRARY_PATH:#e转载 2014-08-05 15:49:42 · 862 阅读 · 0 评论 -
常用的APT命令参数
apt-cache search package 搜索包apt-cache show package 获取包的相关信息,如说明、大小、版本等sudo apt-get install package 安装包sudo apt-get install package - - reinstall 重新安装包sudo apt-get -f install 修复安装"-f = ——fix-mi转载 2014-08-05 20:23:39 · 626 阅读 · 0 评论 -
Ubuntu下不能以根用户身份运行 Google Chrome 浏览器
Edit the file /opt/google/chrome/google-chromefind exec -a "$0" "$HERE/chrome" "$@"change as exec -a "$0" "$HERE/chrome" "$@" --user-data-dir ”/root/.config/google-chrome”貌似这个更好:原创 2014-08-06 15:38:07 · 921 阅读 · 0 评论 -
Linux下关于结构体对齐的总结
Linux下关于结构体对齐的总结关于对齐模数许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数。当一种类型S的对齐模数与另一种类型T的对齐模数的比值是大于1的整数,我们就称类型S的对齐要求比T强(严格),而称T比S弱(宽松)。对于基本数据原创 2014-08-22 16:37:39 · 1698 阅读 · 0 评论 -
tcmalloc for arm
./configure --host arm-none-linux-gnueabi CXX=arm-none-linux-gnueabi-g++ CC=arm-none-linux-gnueabi-gccmake V=1 CXX=arm-none-linux-gnueabi-g++ CC=arm-none-linux-gnueabi-gcc原创 2013-11-01 17:40:06 · 1902 阅读 · 0 评论 -
Linux 内存管理机制简介
在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这 方面,区别于 Windows的内存管理。主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。而Windows 是只在需要内存时,才为应用程序分配内存,转载 2013-10-31 15:37:09 · 651 阅读 · 0 评论 -
Linux C 编程内存泄露检测工具:mtrace
前言所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memory leakage)问题,在Linux里有三种常用工具来检测内存泄露的情況,包括:mtracedmallocmemwatch1. mtracemtrace是三款工具之中是最简单易用的,mtrace是一个C函數,在里声明及定义,函数原型为:转载 2013-10-31 10:49:44 · 799 阅读 · 0 评论 -
定位线程Segment fault (SIGSEGV)的方法
1. 为线程设定名字. 以做明确的区分. 详见: 为线程设置名字2.使用 valgrind + memcheck 运行程序, 查找错误的线程id. ./valgrind --leak-check=yes --show-reachable=yes ./test // 这里test为目标程序3. ps 查看程序的id值. 如:ps | grep test原创 2013-08-23 20:57:42 · 2579 阅读 · 0 评论 -
查看进程内所有线程的CPU使用率
top -H -p pid命令查看进程内各个线程占用的CPU百分比原创 2013-09-10 21:37:05 · 947 阅读 · 0 评论 -
关于物理内存,虚拟内存等概念
一、概念物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这转载 2013-10-25 09:39:52 · 3395 阅读 · 0 评论 -
ubuntu备份命令
备份:tar -cvpzf /media/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media / tar 是用来备份的程序 c - 新建一个备份文档 v - 详细模式, tar程序将在屏幕上实时输出所有信息。 p - 保存许可,并应用到所有转载 2013-10-18 15:55:23 · 1103 阅读 · 0 评论 -
Linux 虚拟内存和物理内存的理解
首先,让我们看下虚拟内存:第一层理解1. 每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构2. 一个新进程建立的时候,将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间,哪些数据在哪里,都由进程控制表中的task_struct记录,task_struct中记录中一条链表,记录中内存转载 2013-10-20 10:11:29 · 2216 阅读 · 0 评论 -
程序(进程)内存分布 解析
http://blog.csdn.net/dlutbrucezhang/article/details/9080157在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操转载 2013-10-20 10:32:27 · 603 阅读 · 0 评论 -
【百度分享】频繁分配释放内存导致的性能问题的分析
现象1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。初步分析majflt代表major fault,中文名叫大错误,minflt代表minor转载 2013-10-30 16:18:45 · 701 阅读 · 0 评论 -
glibc内存管理文章
http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201311884819764/http://blog.sina.com.cn/s/blog_6f5b220601012x7k.htmlhttp://blog.csdn.net/ferrarild/article/details/8466135http://www原创 2013-10-30 19:57:56 · 512 阅读 · 0 评论 -
pmap学习:系统测试中怎么确定内存泄露(memory leak)
原文: http://blog.csdn.net/licanhua/article/details/6983534性能测试的一项重要工作就是检查有没有内存泄露。linux下通过top/free/pmap/ps,会提供许多关于内存分配的信息,如top里面的VIRT,RSS,SWAP,VSZ,RES,SHR等等,到底哪些参数能够用来检测memory leak呢?虽然baidu,go转载 2013-10-30 10:09:44 · 1930 阅读 · 0 评论 -
glibc下的内存管理
原文:http://www.cnblogs.com/lookof/archive/2013/03/26/2981768.html几周前我曾提到,我被项目组分配去做了一些探究linux下内存管理机制的活儿。因为我们的产品遇到了一些与之相关的“诡异”问题。这些问题以及相关情况可以概括如下:先介绍一下相关的背景。由于我们是3D软件,所以用户经常会有“导入/导出”各种geome转载 2013-10-30 15:23:58 · 918 阅读 · 0 评论 -
结构体对齐详解
1 -- 结构体数据成员对齐的意义许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。这种强制的要求一来简化了处理器与内存之间传输系统的设计,二来可以提升读取数据的速度。比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,转载 2014-08-25 14:47:01 · 367 阅读 · 0 评论