- 博客(159)
- 收藏
- 关注
原创 桌面级处理器和移动端处理器
桌面级处理器:是指用作桌面型电脑使用的的处理器。对功耗、环境温度没特殊要求的处理器。可以简单的理解为台式电脑、服务器的处理器。它对应的移动端处理器。关于移动端处理器:是专门针对移动终端,如笔记本电脑、智能手机、平板电脑等而设计的处理器,它与桌面级处理器的区别在于,移动处理器的正常工作电压一般比较低,核心较小,发热量比台式CPU低的多,可以在更高温下稳定作业,而且耗能较低,但价格相对
2017-01-11 09:41:00
7845
转载 crash 工具分析linux dump 文件
http://www.360doc.com/content/14/0626/10/426085_389828671.shtml
2017-01-09 16:14:26
1599
转载 lspci
lspcilspci - 列出所有PCI设备 [[ ]]总览 SYNOPSISlspci [ options ] [[ ]]描述 DESCRIPTION
2017-01-09 14:59:29
464
原创 关于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
17824
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
2489
原创 TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE
TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE 的区别TASK_INTERRUPTIBLE是可以被信号和wake_up()唤醒的,当信号到来时,进程会被设置为可运行。而TASK_UNINTERRUPTIBLE只能被wake_up()唤醒。信号本质信号是在软件层次上对中断机制的一种模拟,软中断信号来源信号事件的发生有两个来源:硬件来源:(
2017-01-05 22:23:32
3036
原创 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
847
2
原创 linux 自旋锁
自旋锁用来在多处理器的环境下保护数据。 如果内核发现数据未锁,就获取锁并运行;如果数据被锁,就一直旋转(其实是一直反复执行一条指令)。之所以说自旋锁用在多处理器环境,是因为在单处理器环境(非抢占式内核)下,自旋锁其实不起作用。在单处理器抢占式内核的情况下,自旋锁起到禁止抢占的作用。
2017-01-04 22:02:42
410
原创 文件系统之 簇&块
文件系统之 簇&块〇、扇区的管理 扇区是磁盘最小的物理存储单元,一般而言是512kb大小每个扇区,但是操作通常不直接管理每一个扇区,而是通过将若干个扇区组成的一个更大的集合来去进行操作管理。 这个比扇区更大的集合,在Windows下叫做簇;在Linux下叫做块(block)。一、Windows:簇
2017-01-04 11:30:52
3846
原创 常见文件系统,超级块,引导扇区
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
1228
原创 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
550
原创 B树和hash的区别与联系
关系型数据库中,索引大多采用B/B+树来作为存储结构,而全文搜索引擎的索引则主要采用hash的存储结构,这两种数据结构有什么区别?hash结构的特点:检索效率非常高,索引的检索可以一次到位,O(1)。B树需要从根节点到枝节点,最后才能到叶节点进行多次I/O操作,所以hash的效率远远高于B树的效率。那么为什么数据库索引还是用B树结构呢?1、hash索引仅满足“=”、“I
2017-01-03 15:35:39
420
原创 Linux下试验大页面映射(MAP_HUGETLB
Linux对大页面内存的引入对减少TLB的失效效果不错,特别是内存大而密集型的程序,比如说在数据库中的使用。innodb引擎就支持大页面内存,具体使用可参见 这里。大页面更详细的资料可以参考: Documentation/vm/hugetlbpage.txt过去使用大页面内存主要透过hugetlbfs需要mount文件系统到某个点去,部署起来很不方便,我们只想要点匿名页面,要搞的那
2016-12-30 10:22:19
4209
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
26170
1
原创 linux的hugepage的配置
linux的hugepage的配置2013-01-22 17:13 3244人阅读 评论(0) 收藏 举报版权声明:本文为博主原创文章,未经博主允许不得转载。由于Linux的特性,linux使用内存的方式是采用vm的方式,即linux把物理内存和swap共同虚拟成内存来对外提供,有时用户看似使用内存,可实际上是使用磁盘,那如何避免使用swap
2016-12-29 16:37:50
496
原创 accelio介绍和信息汇总
Accelio是一个开源的、高性能的、可靠的、异步消息传递接口。它当前通过对RDMA和TCP/IP的软件接口抽象,提供了一套xio接口。通过这个接口可以方便的使用RDMA并兼容已有的TCP网络。Accelio的目标是提供一个简单好用、可靠、规模化、高性能的、能最大化利用CPU和网络基础设施的数据或消息传递中间件。目前ceph已开始使用Accelio。在软件接口层面Accelio
2016-12-26 10:16:08
770
原创 DPDK helloworld
环境搭建:手头没有intel的板子,暂时只能用虚拟机代替; 虚拟机的CPU数量不能超过真实的机器,因此暂时无法模拟出NUMA的环境;dpdk需要至少两块网卡,eth0和eth1用于dpdk使用,eth2用于跟主机通信; 打开虚拟机的配置文件, xxx.vmx,把所有网卡都设置成e1000 ethernet0.present = "TRUE"ethern
2016-12-23 17:06:29
685
原创 spdk 编译
折腾了大半天,总算将spdk编译通过了。现将编译过程遇到的一些坑记录下来:环.境是centos7.21、获取spdk 源码 git clone git@github.com:spdk/spdk.git2、根据github上面的redme 进行如下操作: sudo dnf install -y gcc gcc-c++ CUnit-devel libaio-de
2016-12-23 15:12:13
5359
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
1245
原创 容易被误读的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
402
原创 利用blktrace分析IO性能
本文转载自一位专家朋友(微博@vmunix)的博客,他从事UNIX性能方面的工作近十年,今年来开始研究Linux。原文地址:http://linuxperf.com/?p=161iostat等最常用的工具肯定是指望不上的,【容易被误读的iostat】一文中解释过await表示单个I/O所需的平均时间,但它同时包含了I/O Scheduler所消耗的时间和硬件所消耗的时间,所以不能作
2016-12-22 16:59:11
5526
原创 NFV与SDN的区别与联系
软件定义型网络(SDN)和网络功能虚拟化(NFV)都是热议的话题。他们之前显然是有关系的,但是它们有何区别与联系?有哪些地方类似呢?不同之处又在哪里?二者如何做到相互补充呢?SDN诞生于高校,成熟于数据中心SDN初始于园区网络,一群研究者(译者注:斯坦福的达人们)在进行科研时发现,每次进行新的协议部署尝试时,都需要改变网络设备的软件,这让他们灰常郁闷,于是乎,他们开始考虑让这些网络
2016-12-22 16:40:20
17796
2
原创 SPDK
Storage Performance Development Kit, 存储性能开发工具包,简称SPDK。 点击此处打开Intel原文链接简介固态存储媒介正在取代旧的数据中心。这一代闪存存储相对于传统磁盘介质在性能,功耗,盘架密度上都有着巨大优势,这些优势将使闪存存储成为存储市场下一代的霸主。使用固态存储介质,如Intel的P3700 非易失内存高速驱动器(Non-V
2016-12-22 15:25:54
1591
原创 WA
WA(Write Amplification)写入放大 WA是闪存及SSD相关的一个极为重要的属性。由于闪存必须先擦除才能再写入的特性,在执行这些操作时,数据都会被移动超过1次。这些重复的操作不单会增加写入的数据量,还会减少闪存的寿命,更吃光闪存的可用带宽而间接影响随机写入性能。WA这个术语在2008年被Intel公司和SiliconSystems公司(于2009 年被西部数据收购
2016-12-22 14:39:46
448
原创 TRIM
Trim(有翻译为:修剪,但非正式翻译) Trim,其实是一个ATA指令,并无正式中文名称,操作系统发送此指令给SSD主控,以通知它哪些数据占用的地址是‘无效’的。 在讲解Trim的重要性前,先说一点文件系统的相关知识。当我们在操作系统中删除一个文件时,系统并没有真正删掉这个文件的数据,它只是把这些数据占用的地址标记为‘空’,即可以覆盖使用。但这只是在文件系统层面的
2016-12-22 14:19:04
520
原创 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
55572
原创 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
283
原创 关于CPU Cache:程序猿需要知道的那些
先来看一张本文所有概念的一个思维导图(在新窗口查看原图) 为什么要有CPU Cache随着工艺的提升最近几十年CPU的频率不断提升,而受制于制造工艺和成本限制,目前计算机的内存主要是DRAM并且在访问速度上没有质的突破。因此,CPU的处理速度和内存的访问速度差距越来越大,甚至可以达到上万倍。这种情况下传统的CPU通过FSB直连内存的方式显然就会因为内存访问的等待,导
2016-12-22 10:24:34
346
原创 编译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
243
原创 Makefile FAQ
1、Makefile 中命令行前面的@是什么意思?@表示在make时不输出make的信息(类似Windows下的echo off)。
2016-12-21 17:54:31
309
原创 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
9869
原创 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
10103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人