- 博客(26)
- 资源 (5)
- 收藏
- 关注
转载 asm volatile内嵌汇编用法
带有C/C++表达式的内联汇编格式为: __asm__ __volatile__("InSTructiON List" : Output : Input : Clobber/Modify);每项概念说明:_asm_ 是GCC关键字asm的宏定义:#define __asm__ asm__asm__ 或asm用来声明一个内联汇编表达式,任何内联汇编表达式都是以它
2014-09-05 11:29:32
38640
3
转载 hash算法比较
pymemcached和xmemcached都实现了一致性哈希算法(其实我是照抄的),这里要测试下在使用一致性哈希的情况下,增加节点,看不同散列函数下命中率和数据分布的变化情况,这个测试结果对于spymemcached和xmemcached是一样的,测试场景:从一篇英文小说(《黄金罗盘》前三章)进行单词统计,并将最后的统计结果存储到memcached,以单词为key,以次数为value。单词个
2014-09-02 09:59:39
6942
转载 服务器性能调优
一 绪论Linux性能监控之绪论篇性能调优的目的是找到系统的瓶颈,并且调节系统来设法消除这些瓶颈.我们在监控性能的时候重点在于监视一下子系统:1.CPU2.Memory3.IO4.Network但这些系统都是彼此依赖,不能单独只看其中一个.当一个系统负载过重时往往会引起其它子系统的问题,比如说:->大量的读入内存的IO请求(page-in IO)会用完内存队列;
2014-08-06 17:04:19
3118
原创 memory leak
内存泄露:只申请空间不释放空间的情况称为内存泄露。c++申请堆内存空间函数:new 数据类型[表达式]; new 数据类型;确认申请的堆内存空间不再使用后,我们用delete操作符来释放堆内存空间,其语法格式为: delete [] 指向堆内存首元素的指针;如果申请的是一个堆内存变量,则delete后的[]可以省略;如果申请的是一个堆
2013-09-29 14:00:42
776
原创 C 警告:warning:declared inside parameter list
warning:declared inside parameter listwarning:its scope is only this definition or declaration, which is probably not what you want解释: 在参数列表中定义。 类型的范围仅仅在本定义或者说明中,也许不是你所想要的。分析:出现问题的通常是一个
2013-07-11 15:13:54
55864
转载 关于GCC的__attribute__ ((constructor))
gcc为函数提供了几种类型的属性,其中包含:构造函数(constructors)和析构函数(destructors)。程序员应当使用类似下面的方式来指定这些属性: static void start(void) __attribute__ ((constructor)); static void stop(void) __attribute__ ((destru
2013-04-02 10:57:10
941
原创 中断
1. 中断:通常被定义成一个事件,该事件改变处理器执行的指令顺序。这样的事件与cpu芯片外部电路产生的电信号相对应。2.中断的产生:每个能够发出中断请求的硬件设备控制器都有一条称为IRQ的输出线(中断线)。所有的IRQ线都与一个中断控制器的输入引脚相连,中断控制器与cpu的intr引脚相连。3.中断向量:每个中断由0-255之间的一个8位数来标识。称为中断向量。4.
2013-02-25 16:03:03
511
转载 TLB
TLB是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存。现在所有的用于桌面和服务器的处理器都使用TLB。TLB具有固定数目的slots,slots包含了page table的入口。页表用于将虚拟地址映射到物理地址。TLB是典型的内容寻址的内存(content-addressable memory – CAM),其中用于搜索的键值时虚拟地址,搜索结果时物理地址。如果TLB中包括请求
2013-01-23 09:46:43
1128
原创 RDMA
一.RDMA介绍远程直接内存存取(RDMA)使一台计算机可以直接将信息传送到另一台计算机内存中。这项技术通过减少对带宽和处理器开销的需要降低了时延,这种效果实现的技术: 1. 通 过在NIC的硬件中部署一项可靠的传输协议 2.支持零复制网络技术和 3. 内核内存旁路实现2)零复制网络技术NIC可以直接与应用内存相互传输数据,从而消
2013-01-15 17:48:42
7056
原创 pktgen&tcpdump安装使用
系统环境:Centos 6.01. pktgen是内核的一个模块,并不是工具软件,用来发送大量的报文。2. tcpdump 是linux自带的工具软件,对网络上的数据包进行截获与监控的包分析工具使用pktgen,首先需要加载pktgen模块,如果你的内核没有把pktgen编译进内核,或编译成模块,你需要重新编译内核。 查看pktgen是否在内核命令:#
2013-01-14 15:34:38
2046
原创 pcie带宽计算
PCI-E规范主要是为提高电脑内部所有总线速度。PCI-E 2.0总线频率 5GHZPCI-E 3.0总线频率 8GHZPCI-E串行总线带宽计算公式:PCI-E串行总线带宽(MB/s)=串行总线时钟频率(MHZ) × 串行总线位宽(bit/8 = B) × 串行总线管线 × 编码方式 × 每时钟传输几组数据(cycle)example: 如PCI-E 1.0
2013-01-11 11:31:30
7440
转载 linux NC-SI
NCSI 的简单介绍 它主要包括:一个管理控制器(Management Controller, MC),一个或多个(NCSI 的电气特性最多支持 4 个)网络控制器(Network Controller, NC)。网络控制器一方面连接了外部网络接口与内部主机接口,另一方面,又与管理控制器之间有一个带外接口。 通过带外接口的网络数据包主要分为两类:一类是在外部网络与管理
2013-01-10 17:52:02
4993
转载 MSI/MSI-X Capability结构
PCIe设备可以使用MSI或者MSI-X报文向处理器提交中断请求,但是对于某个具体的PCIe设备,可能仅支持一种报文。在PCIe设备中含有两个Capability结构,一个是MSI Capability结构,另一个是MSI-X Capability结构。通常情况下一个PCIe设备仅包含一种结构,或者为MSI Capability结构,或者为MSI-X Capability结构。
2013-01-10 16:30:20
2843
转载 MSI和MSI-X中断机制
在PCI总线中,所有需要提交中断请求的设备,必须能够通过INTx引脚提交中断请求,而MSI机制是一个可选机制。而在PCIe总线中,PCIe设备必须支持MSI或者MSI-X中断请求机制,而可以不支持INTx中断消息。在PCIe总线中,MSI和MSI-X中断机制使用存储器写请求TLP向处理器提交中断请求,下文为简便起见将传递MSI/MSI-X中断消息的存储器写报文简称为MSI/MSI-X报文。不同
2013-01-10 15:54:59
5012
原创 中断亲和力测试
中断亲和力定义:是指将一个或多个中断源绑定到特定的 CPU上运行linux中断处理程序路径:#/proc/irq设置中的亲和力的文件#/proc/irq/2/smp_affinity NOTE:‘2’代表中断进程号,可以说其它中断号测试(eth1 中断号 44)例程:[root@moon 44]# cat smp_affinit
2013-01-10 14:26:44
962
转载 linux 内核 中断亲和力-affinity
Linux 2.6 中断处理原理简介中断描述符表(Interrupt Descriptor Table,IDT)是一个系统表,它与每一个中断或异常向量相联系,每一个向量在表中存放的是相应的中断或异常处理程序的入口地址。内核在允许中断发生前,也就是在系统初始化时,必须把 IDT 表的初始化地址装载到 idtr 寄存器中,初始化表中的每一项。当处于实模式下时,IDT 被初始化并由 BIOS
2013-01-10 10:56:25
5522
转载 kernel笔记——中断
cpu与磁盘、网卡、键盘等外围设备(相对于cpu和内存而言)交互时,cpu下发I/O请求到这些设备后,相对cpu的处理能力而言,磁盘、网卡等设备需要较长时间完成请求处理。那么在请求发出到处理完成这段时间,应如何设定cpu的行为,既能让这期间运行的其他程序得到执行,又能在外设处理完成后,cpu及时获取到处理完成的消息? 可以按以下方式设定cpu行为:
2013-01-10 10:33:05
717
转载 CPU亲和力--affinity
CPU亲合力就是指在Linux系统中能够将一个或多个进程绑定到一个或多个处理器上运行.一个进程的CPU亲合力掩码决定了该进程将在哪个或哪几个CPU上运行.在一个多处理器系统中,设置CPU亲合力的掩码可能会获得更好的性能.一个CPU的亲合力掩码用一个cpu_set_t结构体来表示一个CPU集合, 下面的几个宏分别对这个掩码集进行操作:1. CPU_
2013-01-10 10:22:40
612
原创 linux几种系统比较
经常跟linux各种系统打交道,安装,卸载,熟练之后完全是重复性工作。企业常用Redhat企业版,ubuntu,centos , suse,fedora等等,由于开始接触是Redhat,安装环境搭建过程繁琐,这是相对ubuntu系统来说。Redhat安全性和稳定性是不错的,问题在于内核安装,工具包安装,SDk环境搭建比较麻烦。相对来说,Ubuntu系统界面要人性很多,完全可以在线安装,但对权限限制
2012-12-27 13:58:12
652
原创 求职自我批评!
没找的时候,觉得找工作不难,真正找了才知道,简历投出去石沉大海都不知道什么原因,后来根本就不管了。甚至怀疑自己的能力,但怎么认为自己也不是那么烂的人,苦恼问题在哪里,分析原因几点: 一、简历制作够懒,没有精心匹配 二、网投不够专业,针对性不强 三、目标不明确,信息不对称 四、信心日渐消耗 改变此状态,励精图治,重拾昨
2009-12-20 15:42:00
883
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人