自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 收藏
  • 关注

原创 AVL 树 VS红黑树

相对于红黑树:AVL树的增删操作复杂度过高,应用不如红黑树广

2017-03-26 09:36:42 609

原创 dm-thin模块分析

http://www.cnblogs.com/boring-codeer/p/6187879.html

2017-01-19 18:07:24 1211

原创 IO 端口和IO 内存

http://blog.chinaunix.net/uid-25871104-id-2843472.html

2017-01-17 09:48:37 476

原创 Linux内核工程导论——基础架构

http://www.mamicode.com/info-detail-1012617.html

2017-01-12 11:12:48 577

原创 Linux 下的notifier chain 机制的注册和触发讲解

Linux 下的notifier chain 机制的注册和触发讲解

2017-01-11 09:42:49 553 1

原创 桌面级处理器和移动端处理器

桌面级处理器:是指用作桌面型电脑使用的的处理器。对功耗、环境温度没特殊要求的处理器。可以简单的理解为台式电脑、服务器的处理器。它对应的移动端处理器。关于移动端处理器:是专门针对移动终端,如笔记本电脑、智能手机、平板电脑等而设计的处理器,它与桌面级处理器的区别在于,移动处理器的正常工作电压一般比较低,核心较小,发热量比台式CPU低的多,可以在更高温下稳定作业,而且耗能较低,但价格相对

2017-01-11 09:41:00 7427

原创 perf

http://www.ibm.com/developerworks/cn/linux/l-cn-perf1/

2017-01-10 18:08:39 327

原创 perf

http://www.ibm.com/developerworks/cn/linux/l-cn-perf1/

2017-01-09 18:48:08 290

转载 crash 工具分析linux dump 文件

http://www.360doc.com/content/14/0626/10/426085_389828671.shtml

2017-01-09 16:14:26 1578

转载 lspci

lspcilspci - 列出所有PCI设备 [[ ]]总览 SYNOPSISlspci [ options ] [[ ]]描述 DESCRIPTION

2017-01-09 14:59:29 446

原创 关于kernel-devel、kernel-header和kernel src的区别

1、转载1A kernel-header package would contain 'header files' needed by some applications which would be built on the target machine, for example modules used by virtualbox or the proprietary nvid

2017-01-06 14:28:29 17670 1

原创 git 查看某个文件的修改历史

1. Git log -p filename查看文件的每一个详细的历史修改,如果没有-p选项,只显示提交记录,不显示文件内容修改,git log -p -3 filename 显示最近的3次提交。2. git log --pretty=oneline filename每一行显示一个提交,先显示哈希码,再显示提交说明。3. git blame filename查看文件

2017-01-06 10:56:22 2472

原创 TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE

TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE 的区别TASK_INTERRUPTIBLE是可以被信号和wake_up()唤醒的,当信号到来时,进程会被设置为可运行。而TASK_UNINTERRUPTIBLE只能被wake_up()唤醒。信号本质信号是在软件层次上对中断机制的一种模拟,软中断信号来源信号事件的发生有两个来源:硬件来源:(

2017-01-05 22:23:32 3005

原创 CentOS下KVM虚拟化学习笔记

前言:虚拟化的理论知识我就不啰嗦了,可以参见http://bbs.linuxtone.org/thread-24347-1-1.html,kvm全称Kernel-based  Virtual Machine, 其实kvm只是一个内核模块,提供虚拟cpu和内存管理的模块,至于其它的设备是由qemu模拟的,如网卡,显卡,磁盘等。后来redhat联合IBM以及Linux社区创造了libvirt,

2017-01-05 11:22:48 823 2

原创 linux 自旋锁

自旋锁用来在多处理器的环境下保护数据。 如果内核发现数据未锁,就获取锁并运行;如果数据被锁,就一直旋转(其实是一直反复执行一条指令)。之所以说自旋锁用在多处理器环境,是因为在单处理器环境(非抢占式内核)下,自旋锁其实不起作用。在单处理器抢占式内核的情况下,自旋锁起到禁止抢占的作用。

2017-01-04 22:02:42 393

原创 文件系统之 簇&块

文件系统之 簇&块〇、扇区的管理    扇区是磁盘最小的物理存储单元,一般而言是512kb大小每个扇区,但是操作通常不直接管理每一个扇区,而是通过将若干个扇区组成的一个更大的集合来去进行操作管理。    这个比扇区更大的集合,在Windows下叫做簇;在Linux下叫做块(block)。一、Windows:簇

2017-01-04 11:30:52 3726

原创 常见文件系统,超级块,引导扇区

Linux支持的文件系统有哪些:1.  传统文件系统:Ext2、ext3、ext4、Reiserfs(处理小文件)、Xfs、jfs2.  光盘文件系统:ISO96603.  集群文件系统:GFS(红帽开发)、OCFS(oraclecluster fs)4.  网络文件系统:NFS、CIFS5.  Windows上的文件系统:VFAT(包括FAT、FAT3

2017-01-04 10:44:45 1199

原创 linux下磁盘分区详解 图文

linux下磁盘分区详解 图文作者:佚名 字体:[增加 减小] 来源:互联网 时间:07-10 21:28:58 我要评论    1.磁盘分区格式说明linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四个,SCSI,SATA,USB硬盘为sdx(x为a—z)),硬盘主分区最多为4个,不用说大家也知道….

2017-01-04 10:37:15 523

原创 B树和hash的区别与联系

关系型数据库中,索引大多采用B/B+树来作为存储结构,而全文搜索引擎的索引则主要采用hash的存储结构,这两种数据结构有什么区别?hash结构的特点:检索效率非常高,索引的检索可以一次到位,O(1)。B树需要从根节点到枝节点,最后才能到叶节点进行多次I/O操作,所以hash的效率远远高于B树的效率。那么为什么数据库索引还是用B树结构呢?1、hash索引仅满足“=”、“I

2017-01-03 15:35:39 409

原创 Linux下试验大页面映射(MAP_HUGETLB

Linux对大页面内存的引入对减少TLB的失效效果不错,特别是内存大而密集型的程序,比如说在数据库中的使用。innodb引擎就支持大页面内存,具体使用可参见 这里。大页面更详细的资料可以参考: Documentation/vm/hugetlbpage.txt过去使用大页面内存主要透过hugetlbfs需要mount文件系统到某个点去,部署起来很不方便,我们只想要点匿名页面,要搞的那

2016-12-30 10:22:19 4145 1

原创 请教关于总线错误(Bus error) 和 定位处理问题.

在编制一和运行一个程序的时候, 人们可能会遇到下面的信息:"Bus error(core dumped);. 当出现这种信息的时候,则表示在SPARC等RISC类型的CPU中发生了"违反定位访问"的情况.例如,读者可以阅读下面的程序.#include #include void main(){char buf[256];int *x;x = (int *) & buf[

2016-12-30 09:39:30 25785 1

原创 linux的hugepage的配置

linux的hugepage的配置2013-01-22 17:13 3244人阅读 评论(0) 收藏 举报版权声明:本文为博主原创文章,未经博主允许不得转载。由于Linux的特性,linux使用内存的方式是采用vm的方式,即linux把物理内存和swap共同虚拟成内存来对外提供,有时用户看似使用内存,可实际上是使用磁盘,那如何避免使用swap

2016-12-29 16:37:50 488

原创 ioat

f'f

2016-12-27 15:12:14 2031

原创 accelio介绍和信息汇总

Accelio是一个开源的、高性能的、可靠的、异步消息传递接口。它当前通过对RDMA和TCP/IP的软件接口抽象,提供了一套xio接口。通过这个接口可以方便的使用RDMA并兼容已有的TCP网络。Accelio的目标是提供一个简单好用、可靠、规模化、高性能的、能最大化利用CPU和网络基础设施的数据或消息传递中间件。目前ceph已开始使用Accelio。在软件接口层面Accelio

2016-12-26 10:16:08 729

原创 DPDK helloworld

环境搭建:手头没有intel的板子,暂时只能用虚拟机代替; 虚拟机的CPU数量不能超过真实的机器,因此暂时无法模拟出NUMA的环境;dpdk需要至少两块网卡,eth0和eth1用于dpdk使用,eth2用于跟主机通信; 打开虚拟机的配置文件, xxx.vmx,把所有网卡都设置成e1000 ethernet0.present = "TRUE"ethern

2016-12-23 17:06:29 674

原创 spdk 编译

折腾了大半天,总算将spdk编译通过了。现将编译过程遇到的一些坑记录下来:环.境是centos7.21、获取spdk 源码       git clone  [email protected]:spdk/spdk.git2、根据github上面的redme 进行如下操作:  sudo dnf install -y gcc gcc-c++ CUnit-devel libaio-de

2016-12-23 15:12:13 5264 2

原创 Cento7升级内核到3.18的方法

默认centos7的内核版本是3.10,升级的原因是为了测试openvswitch的vlan技术,默认openvswitch的2.3版本是允许centos7默认内核3.10支持,下面是软件与内核版本对比   Open vSwitch   Linux kernel   ------------   -------------       1

2016-12-23 10:05:55 1230

原创 容易被误读的iostat

本文转载自一位专家朋友(微博@vmunix)的博客,他从事UNIX性能方面的工作近十年,今年来开始研究Linux。原文地址:http://linuxperf.com/?p=156iostat(1)是在Linux系统上查看I/O性能最基本的工具,然而对于那些熟悉其它UNIX系统的人来说它是很容易被误读的。比如在HP-UX上 avserv(相当于Linux上的 svctm)是最

2016-12-22 17:02:59 383

原创 利用blktrace分析IO性能

本文转载自一位专家朋友(微博@vmunix)的博客,他从事UNIX性能方面的工作近十年,今年来开始研究Linux。原文地址:http://linuxperf.com/?p=161iostat等最常用的工具肯定是指望不上的,【容易被误读的iostat】一文中解释过await表示单个I/O所需的平均时间,但它同时包含了I/O Scheduler所消耗的时间和硬件所消耗的时间,所以不能作

2016-12-22 16:59:11 5494

原创 NFV与SDN的区别与联系

软件定义型网络(SDN)和网络功能虚拟化(NFV)都是热议的话题。他们之前显然是有关系的,但是它们有何区别与联系?有哪些地方类似呢?不同之处又在哪里?二者如何做到相互补充呢?SDN诞生于高校,成熟于数据中心SDN初始于园区网络,一群研究者(译者注:斯坦福的达人们)在进行科研时发现,每次进行新的协议部署尝试时,都需要改变网络设备的软件,这让他们灰常郁闷,于是乎,他们开始考虑让这些网络

2016-12-22 16:40:20 17700 2

原创 SPDK

Storage Performance Development Kit, 存储性能开发工具包,简称SPDK。 点击此处打开Intel原文链接简介固态存储媒介正在取代旧的数据中心。这一代闪存存储相对于传统磁盘介质在性能,功耗,盘架密度上都有着巨大优势,这些优势将使闪存存储成为存储市场下一代的霸主。使用固态存储介质,如Intel的P3700 非易失内存高速驱动器(Non-V

2016-12-22 15:25:54 1564

原创 WA

WA(Write Amplification)写入放大       WA是闪存及SSD相关的一个极为重要的属性。由于闪存必须先擦除才能再写入的特性,在执行这些操作时,数据都会被移动超过1次。这些重复的操作不单会增加写入的数据量,还会减少闪存的寿命,更吃光闪存的可用带宽而间接影响随机写入性能。WA这个术语在2008年被Intel公司和SiliconSystems公司(于2009 年被西部数据收购

2016-12-22 14:39:46 430

原创 TRIM

Trim(有翻译为:修剪,但非正式翻译)       Trim,其实是一个ATA指令,并无正式中文名称,操作系统发送此指令给SSD主控,以通知它哪些数据占用的地址是‘无效’的。       在讲解Trim的重要性前,先说一点文件系统的相关知识。当我们在操作系统中删除一个文件时,系统并没有真正删掉这个文件的数据,它只是把这些数据占用的地址标记为‘空’,即可以覆盖使用。但这只是在文件系统层面的

2016-12-22 14:19:04 494

原创 gcc安装教程(windows版本)

windows下的gcc有两个版本mingw和cygwin,二选一就好已学会C++,做工程,建议用mingw用cygwin编译后的二进制码在别人机器上用不了,因为其他人的机器没有cygwin1.dll(安装cygwin的时候会安装,提供POSIX api和windows api之间的函数转换)学习C++,建议用cygwincygwin完整模拟了linux的运行环境,

2016-12-22 14:10:45 55076

原创 mingw

MinGW,是Minimalist GNUfor Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(C Runtime)库(MS

2016-12-22 11:15:05 271

原创 关于CPU Cache:程序猿需要知道的那些

先来看一张本文所有概念的一个思维导图(在新窗口查看原图) 为什么要有CPU Cache随着工艺的提升最近几十年CPU的频率不断提升,而受制于制造工艺和成本限制,目前计算机的内存主要是DRAM并且在访问速度上没有质的突破。因此,CPU的处理速度和内存的访问速度差距越来越大,甚至可以达到上万倍。这种情况下传统的CPU通过FSB直连内存的方式显然就会因为内存访问的等待,导

2016-12-22 10:24:34 332

原创 编译linux 内核

获取内核源码 git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git 2、配置内核特性(选择一种方法就可以了) make config:遍历选择所要编译的内核特性 make allyesconfig:配置所有可编

2016-12-21 18:08:40 236

原创 Makefile FAQ

1、Makefile 中命令行前面的@是什么意思?@表示在make时不输出make的信息(类似Windows下的echo   off)。

2016-12-21 17:54:31 298

原创 git获取linux内核源码及分支管理

1.    环境:ubuntu12.04.2.    git安装:sudo apt-get install git-core ,安装完后查看版本如下:          3.   获取linux内核源码:    在kernel的官网上有三种版本,mainline,stable,longterm    mainline是主线版本,最新的,    stable是稳定版,

2016-12-21 17:13:39 9789

原创 NVMe到底是什么?用它的SSD有啥优势?

2015-8-20 14:00  |  作者:Strike   |  关键字:NVMe,SSD,PCI-E SSD,超能课堂分享到:33有关注SSD的朋友应该今年听到NVMe这个词的频率应该不低,随着高端SSD的战场已经抛弃SATA向PCI-E转移,老旧的AHCI标准已经不合时宜, 未来是属于NVMe的,那么NVMe到底是啥呢?有玩过SSD的朋友应该都清楚想

2016-12-21 15:38:27 10026

空空如也

空空如也

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

TA关注的人

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