自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

承刚

技术的视角

  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 vmalloc与mmap

vmalloc与mmap          mmap()系统调用是在用户进程与内核之间共享内存区域的常用方法。我们最近有个程序,需要应用进程能够读取内核驱动获取的数据,经过简单的调研,决定采用mmap方式。实现起来不难,在驱动中注册一个字符设备,实现该设备的mmap()方法即可。但这其中有一点小曲折。  在实现设备的mmap()方法时,需要将物理内存映射到应用程序通过mmap()系统调用传

2014-01-22 21:06:27 3636

转载 系统不生成core文件的原因

1. Free space is not enough. 2. The ulimit for core is set to 0 in the account where the program is running. This disables core file creation.3. The process sets a current working directory where

2013-11-08 22:34:59 1174

原创 怎样才能拿到正确的callchain

怎样获得正确的callchain 承刚   本文针对在某些场景下通过perf或tcmalloc等功能获取的callchain不准确的问题进行了分析。 开启GCC的O*优化选项时,会默认开启一个称为“-fomit-frame-pointer”的优化选项。该选项会将栈底指针寄存器EBP用作通用寄存器。这在一定程度上会减少GCC生成的Binary文件的footprint,并多提供一个通用

2013-11-07 19:03:21 1361

原创 如果perf给出的callchain是错误的,该怎么处理?

perf有时给出的callchain是错误的,这里简单说一下原因及解决方法。callchain时指函数的调用路径。通常我们也把它称为call trace。很多同学在使用perf看热点函数的调用路径时,都发现perf给出的callchain是一堆混乱的地址,或者给出的callchain根本不对。我们先来解释一下perf获得callchain的方法:如果我们需要取callcha

2013-11-06 18:09:17 1888

原创 flame graph:图形化perf call stack数据的小工具

很多人习惯于以图形的方式观察数据。但是perf目前在图形化上还非常不足。幸运的是,Brendan Gregg为我们开发了一个小工具--Flame Graph,能够将perf等剖析工具采到的call stack数据转换为svg图。svg是一种矢量图,可以被无限地放大。Flame Graph项目位于GitHub上: https://github.com/brendangregg/FlameGr

2013-06-05 16:58:02 1984

原创 Nehalem的Turbo Mode

Turbo Mode,加速模式,基于Nehalem架构的电源管理技术,通过分析当前CPU的负载情况,智能地完全关闭一些用不上的核心,把能源留给正在使用的核心,并使它们运行在更高的频率,进一步提升性能;相反,需要多个核心时,动态开启相应的核心,智能调整频率。这样,在不影响CPU的TDP情况下,能把核心工作频率调得更高。举个简单的例子,如果游戏只用到一个核心,Turbo Mode就会把其他三个核心自

2013-04-16 15:01:00 1120

原创 CPUID与Cache信息的获取

CPUID与Cache信息的获取 上周一位同事问道getconf与sysconf()在Xeon E5620机器上获取的Cache相关信息为全0的问题。通过分析glibc中sysconf()的实现,现已查明。在我们的环境中,glibc的版本为2.5。而实现sysconf()函数时,采用了CPUID指令。但是并没有考虑到该指令最新的变化。故在E5620处理器上得到的Cache相关信息全部为

2013-04-14 21:16:58 1353

原创 scilab读取txt数据的方法

scilab是一款免费的数学软件,对大多数人而言,完全可以代替价格昂贵的Matlab。对计算机工程师来说,scilab最主要的用途之一恐怕就是对大批数据进行统计分析,那么我们必须要首先知道如何采用scilab加载数据文件。假设我们的数据保存在txt格式的文本文件中,文件名为’test.txt', 文件内容如下:1.11.21.3将scilab的工作区切换到相应路径下,可以采

2013-03-12 14:07:06 4824

原创 Linux的系统级性能剖析工具-perf

perf是内置于Linux内核的性能剖析工具,功能强大,目前仍处于快速发展中。但是目前中英文文档均非常少,增加了大家学习perf的难度。为了推广perf,我撰写了一份使用说明,逐渐发布。大家请在如下地址处下载:http://kernel.taobao.org/index.php/Documents/Kernel_Documents

2013-03-04 22:09:42 2406 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除