自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 linux下网络程序遭遇SIGPIPE的解决(转)

我的一个服务器程序, 在Windows下运行正常. 但当在Linux(centos 6.3)下,进行对端未开启的异常测试时,出现莫名退出 . 最后跟踪到是write调用导致退出. 用gdb执行程序, 退出时提示"Broken pipe". 问题分析:对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程.具体的分析可以结合T

2014-06-06 09:56:31 636

转载 gdb调试memcached

为了方便gdb调试,按照如下重新编译:如果list命令不好用,说明没有把gdb编译进去(若执行完一下步骤依然不好用,可以先make clean然后再执行下面的命令,需要在执行该命令的终端或新的终端打开有效,之前开启的终端依然无效)./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent C

2014-06-06 09:55:43 583

原创 unix系统查看进程占用内存的方法

(1)ps 命令查看:gb@gb-virtual-machine:/proc/19204$ ps -O sz,rsz,vsz 19204  PID       SZ       RSZ    VSZ       S TTY          TIME COMMAND19204  78192  1004   312768 S ?        00:00:00 ./memcached -

2014-06-01 16:02:38 8639 1

转载 linux 稀疏文件(Sparse File)

稀疏文件,这是UNIX类和NTFS等文件系统的一个特性。开始时,一个稀疏文件不包含用户数据,也没有分配到用来存储用户数据的磁盘空间。当数据被写入稀疏文件时,NTFS逐渐地为其分配磁盘空间。一个稀疏文件有可能增长得很大。稀疏文件以64KB(不同文件系统不同)为单位增量增长,因此磁盘上稀疏文件的大小总是64KB的倍数。稀疏文件就是在文件中留有很多空余空间,留备将来插入数据使用。如果这些空余空间

2014-05-30 20:43:41 895

转载 数据库稠密索引与稀疏索引

一、稠密索引如果记录是排好序的,我们就可以在记录上建立稠密索引,它是这样一系列存储块:块中只存放记录的键以及指向记录本身的指针,指针就是一个指向记录或存储块地址。稠密索引文件中的索引块保持键的顺序与文件中的排序顺序一致。既然我们假定查找键和指针所占存储空间远小于记录本身,我们就可以认为存储索引文件比存储数据文件所需存储块要少得多。当内存容纳不下数据文件,但能容纳下索引文件时,索引的优势尤为

2014-05-30 20:41:54 1049

原创 追踪linux 命令Free

追踪linux 命令Free--- 宫博(杨祥合)   2014-04-251.free命令Mem: 这一行,按OS角度理解内存使用情况.有等式:1954 =1120 + 834          其中,OS 层的buffers和cached分别为85M 和 614M -/+ buffers/cache: 这一行,从应用程序角度看待内存使用情况有等式:420 =

2014-04-25 14:08:06 571

转载 释放Linux操作系统文件缓存

2011-12-14 01:13:37|  分类: Linux/Windows |  标签: |举报 |字号大中小 订阅自从工作了,再也没有更新过这个技术博客。一来工作了没什么好写的,二来确实也挺忙。最近稍微有点空闲,先开一个写一点吧。记得在公司做新人习题的时候,题目是通过网络和本地分别读取一个约12G的大文件,从中读取每一行,对每行特定的几个字段,调用分词库分词并统计词频。当时遇

2014-04-25 13:04:19 513

转载 Good tool for ubuntu, as a linux programer

1 down vote In ubuntu there is apt-file package that allows you to find package which contains specified file.You need to install it withsudo apt-get install apt-fileupdate the cache wi

2014-04-24 19:59:51 490

转载 Linux上的free命令详解

解释一下Linux上free命令的输出。  下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如:FO[2][1] = 24677460FO[3][2] = 10321516                     1          2          3          4 

2014-04-24 14:16:49 417

转载 揭秘淘宝自主研发的文件系统——TFS

作者 崔康 发布于 2010年7月7日 | 22 讨论新浪微博腾讯微博豆瓣网TwitterFacebooklinkedin邮件分享更多2稍后阅读我的阅读清单目前,国内自主研发的文件系统可谓凤毛麟角。淘宝在这一领域做了有效的探索和实践,Taobao File System(TFS)作为淘宝内部使用的分布式文件系统,针对海量小文件的随机读写访问性

2014-04-08 16:35:45 978

转载 Raid10,Raid01及Raid5的比较

标签:杂谈 Raid5由于有校验码的存在,所以在一次随机修改数据的时候比raid10多两次IO。因为多读一次校验码和多写一次校验码。所以cache对于raid5就更加富有意义。更多的cache可以使raid5的性能有比较大的提高。反过来,cache少了raid5性能极具下降。也因为这两次IO的差异,raid5平均下来每个磁盘的IOPS比raid10要高。所以如果

2013-12-30 11:59:32 699

转载 Why the “MAVEN2_CLASSPATH_CONTAINER will not be exported or published”

Classpath entry org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINERwill not be exported or published. Runtime ClassNotFoundExceptionsmay resultSo solve this, do the following:Op

2013-12-21 12:02:37 1002

原创 ubuntu 安装hadoop

1.安装ssh-serversudo apt-get install openssh-server启动:sudo /etc/init.d/ssh start检查:ps -e|grep ssh 配置文件路径:/etc/ssh/sshd_config

2013-12-13 11:37:56 751

转载 hadoop环境搭建问题

安装SSH 报错 Privilege separation user sshd does not exist解决办法add following line in /etc/passwd sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 其中/var/empty/sshd修改为你自己的ssh

2013-12-12 15:19:24 647

转载 Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener

Eclipse中tomcat部署工程启动后报错:Shell代码  严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener  java.lang.ClassNotFoundException: org.spring

2013-12-11 16:12:41 798

转载 web.xml 中的listener、 filter、servlet 加载顺序及其详解

web.xml 中的listener、 filter、servlet 加载顺序及其详解在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。        首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 f

2013-12-04 10:21:42 527

转载 lucene入门合集

lucene入门合集lucene介绍http://www.blogjava.net/dreamstone/archive/2007/06/11/123317.htmllucene简单实例http://www.blogjava.net/dreamstone/archive/2007/06/12/123528.htmllucene核心类http://www.blogjava.n

2013-11-02 13:22:06 504

转载 SDCC 2013:阿里周宝方谈“去IOE”战略及实施

摘要:2013中国软件开发者大会于8月30在北京新云南皇冠假日酒店盛大开幕。在大会主会场,阿里技术保障部DBA负责人周宝方详细地向大家讲解了阿里“去IOE”历程,以及所用到的核心技术架构、小结与心得体会等。【CSDN报道】 2013中国软件开发者大会(以下简称SDCC)于8月30-31日在北京新云南皇冠假日酒店举办。作为CSDN和《程序员》杂志倾力打造、千人规模以上的顶级技术盛会,今年SDCC

2013-09-03 14:32:16 911

转载 【JUnit】BeforeClass、AfterClass、Before与After示例

【JUnit】BeforeClass、AfterClass、Before与After示例package ts;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;publi

2013-09-02 09:51:02 634

转载 Python网络编程中的select 和 poll I/O复用的简单使用

首先列一下,sellect、poll、epoll三者的区别 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点

2013-07-20 10:51:15 664

转载 Eclipse中tab width的设置

Eclipse中tab width的设置十二 13th, 20111,268 views | 发表评论 | Trackback前阵子,看到水木中讨论python中的用空格还是用tab来做indentation,然后也讨论到了tab的宽度什么的。在Python、C、Shell中,现在我一般采取tab来做缩进,一般我设置为一个tab显示为8个字符宽度(当然tab是tab

2013-07-18 16:51:49 889

转载 Google Protocol Buffers自带c++,java,python例子程序编译运行

by flying5 in nosql on 2011-08-26 | tags: c java ProtocolBuffer python在我的前一篇文章《Protocol Buffers的安装使用和C++/Python入门示例》中提到google protocol buffers自带了examples,里面有c++,java,python的例子。初学者在编译的过程中经常会遇到环境变

2013-07-18 13:29:57 1797

转载 Protobuf 的安装

Protobuf是google的一个开源的通信协议解决方法,具体的说就是按照Protobuf的语法(类C++)写一个协议文件(就是一个结构体),然后用protoc编译器进行编译,会自动生成协议的类文件,并提供基本的访问修改方法。支持C++,Java,Python,其实就是根据我们定义的数据自动生成类文件。源代码下载地址:https://code.google.com/p/protobuf/

2013-07-18 12:13:12 1022

转载 使用mallopt调整malloc/new行为

同事在项目中使用new/delete的时候发现一个奇怪的现象:int32_t i;std::queue qTest;for (i = 0; i     char *p = new char[100];    qTest.push(p);    char *p1 = qTest.front();    delete[] p1;    qTest.pop();}

2013-07-08 14:44:55 652

转载 Ubuntu 12.04中文输入法的安装

Ubuntu 12.04中文输入法的安装 Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等。其中Scim和Ibus是输入法框架。在Ubuntu的中文系统中自带了中文输入法,通过Ctrl+Space可切换中英文输入法。这里我们主要说下Ubuntu英文系统中,中文输入法的安装。安装输入法的第一步,是安装语言包。我们选择System S

2013-07-03 16:59:34 441

转载 Eclipse中syso 快捷键 Alt + / 不能使用的问题

通过使用windows-preferences-java-editor-templates中的快捷键,可以显著提升输入速度。快捷键的设置一般是在这里以及general下面的keys里面设置。          但是,在ubuntu12.04中安装eclipse juno版后,在代码里输入syso然后按alt + / 后,没有自动填充成为System.out.println();  

2013-07-03 16:14:43 1768

转载 追本溯源——JAVA中为什么float型最大值大于long型?

最为一个常识,我们都知道浮点型在内存中占用的是4个字节的空间,而long型占用的是8个字节的空间。可是为什么4个字节的float型的最大值会大于long型的最大值呢?       我们都知道,float类型的范围是:一3.403E38~3.403E38。而long类型的范围是:-2^63~2^63-1(大概是9*10^18)。       我以前也是简单的记住就算完事了,对于它为什

2013-07-03 07:49:29 991

转载 sys/queue.h

概述        sys/queue.h是LINUX/UNIX系统下面的一个标准头文件,用一系列的数据结构定义了一队列。包括singly-lined list, list, simple queue(Singly-linked Tail queue), tail queue, circle queue五种。        引用此头文件对这五种数据结构的描述:A singl

2013-06-20 13:29:05 1707

转载 Linux Futex的设计与实现

引子在编译2.6内核的时候,你会在编译选项中看到[*] Enable futex support这一项,上网查,有的资料会告诉你"不选这个内核不一定能正确的运行使用glibc的程序",那futex是什么?和glibc又有什么关系呢?1. 什么是FutexFutex 是Fast Userspace muTexes的缩写,由Hubertus Franke, Matthew Kirkwo

2013-06-18 12:27:30 510

转载 关于单CPU,多CPU上的原子操作

来源:http://software.intel.com/zh-cn/blogs/2010/01/14/cpucpu/?cid=sw:prccsdn956所谓原子操作,就是"不可中断的一个或一系列操作" 。硬件级的原子操作:在单处理器系统(UniProcessor)中,能够在单条指令中完成的操作都可以认为是" 原子操作",因为中断只能发生于指令之间。这也是某些CPU指令系统中引入了

2013-06-13 22:11:46 450

原创 sequence 性能测试

根据自己理解的oracle sequence的方式,实现了下,并做了性能测试,测试环境为公司报废的笔记本电脑 dell E4300 ubuntu 13 64位系统.代码实现:#include #include #include #include /*** created by gongbo.yxh  seq mod  2013-06-11

2013-06-13 16:13:43 881

原创 mutex加锁和解锁性能测试

mutex 性能测试:公司报废笔记本dell E4300,Ubuntu 13.04系统mutex 加锁和解锁性能测试:(加锁和解锁)过程,一亿次,共耗时:3883693微妙平均时间 (3888524 * 1000/100000000 = 38.88纳秒)在我的台式机: AMD 1100T 6核心处理器,而且是VMware 虚拟机上:gongbo@gongbo

2013-06-13 15:55:58 1255

转载 使用gdb调试多线程程序总结

http://hi.baidu.com/hcq11/item/eff0fdcf2318a6dbef183bc4>使用gdb调试多线程程序总结一直对GDB多线程调试接触不多,最近因为工作有了一些接触,简单作点记录吧。 先介绍一下GDB多线程调试的基本命令。info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID

2013-06-12 17:50:42 507

转载 关于 struct pollfd fdarray[] 和 struct pollfd *fdarray

在C语言中,两种写法是等价的,使用第一种说法,以说明fdarray指向的是一个结构数组,而不是指向单个结构的指针.buffer 与cache 的区别A buffer is something that has yet to be "written" to disk. A cache is something that has been "read" from the dis

2013-06-05 20:25:10 689

转载 python for mysql 用column_name 获取值

来源:http://zetcode.com/db/mysqlpython/About MySQL databaseMySQL is a leading open source database management system. It is a multi user, multithreaded database management system. MySQL

2013-04-25 19:56:54 3435

转载 妙用0元素数组 实现大小可变结构体

妙用0元素数组 实现大小可变结构体#include #include #include struct aa{     int a;    int b;};struct bb{     struct aa test[0];};int main(void){    struct bb *p=(struct bb*)malloc(s

2013-04-01 17:00:25 525

转载 上下文切换

上下文切换(Context Switch) 或者环境切换多任务系统中,上下文切换是指CPU的控制权由运行任务转移到另外一个就绪任务时所发生的事件。在操作系统中,CPU切换到另一个进程需要保存当前进程的状态并恢复另一个进程的状态:当前运行任务转为就绪(或者挂起、删除)状态,另一个被选定的就绪任务成为当前任务。上下文切换包括保存当前任务的运行环境,恢复将要运行任务的运行环境。进

2013-03-31 20:26:45 654

转载 预定义宏__GNUC__

预定义__GNUC__宏    1 __GNUC__ 是gcc编译器编译代码时预定义的一个宏。需要针对gcc编写代码时, 可以使用该宏进行条件编译。    2 __GNUC__ 的值表示gcc的版本。需要针对gcc特定版本编写代码时,也可以使用该宏进行条件编译。    3 __GNUC__ 的类型是“int”,该宏被扩展后, 得到的是整数字面值。可以通过仅预处理,查看宏扩展

2013-03-31 16:46:50 809

转载 C语言中的inline

inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。1. 在C中使用这种形式宏定义的原因,C语言是一个效率很高的语言,这种宏定义在形式及使用上像一个函数,但它使用预处理器实现,没有了参数压栈,代码生成等一系列的操作,因此,效率很高,这是它在C中被使用的一个主要原因。2. inline 推出的目的,也正是为了取代这种表达式形式的宏定义,它消除了

2013-03-31 16:42:11 611

原创 分布式系统架构设计的考量点(不断更新、累积中)

响应时间(RT) 对分布式网络流量的影响网络带宽的充分利用 与 热点网络流量 之间的均衡.(流量控制、副本均衡)1.什么时候做副本迁移,对生产影响降低为0,不可以出现查询超时。所谓的探针一定要准确。2.硬盘坏掉检测、系统Load等指标的检测,靠谱准确.3.对于静态数据,充分利用多个副本的因素,一个副本迁移,另一个副本提供读。等一个迁移好后,读切换到新副本上,老的副本再发生迁

2013-03-20 14:09:49 774

空空如也

空空如也

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

TA关注的人

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