存档

2012年2月 的存档

高尔夫

2012年2月26日 没有评论 37,792 次浏览

额,昨天下午和同事去羊台山高尔夫练习场打高尔夫,虽然远了一点,不过还是玩得挺开心的,记录一下。 ... [阅读更多]

利用error指令判断宏是否已定义

2012年2月24日 没有评论 10,255 次浏览

Linux下特别的东西特别的多,比如说宏定义,看Linux内核代码,无数个宏开关,当然,这并不是Linux的过错,要知道Linux内核特性的开启与否都要靠这些宏定义。 在判断一个宏定义是否开启时,各人有各人的办法,最简单的当然是直接看代码,但这不一定准确,因为有可能此处define的宏在别处又undef了,在代码实际用到这个宏的地方,这个宏到底是否还存在呢?所以,最保险的方法就是在实际用到这个宏的地方做判断,此时可利用error指令,在编译时就可以准确判断出结果,直接看示例: #... [阅读更多]

利用pktgen发包工具做性能测试

2012年2月22日 6 条评论 25,753 次浏览

专业的发包仪器非常不错,比如思博伦通信Smartbits测试设备,但唯一的缺点就是太贵,而这个唯一的缺点又不是那么容易克服。还好,伟大的Linux为我们提供了一个先进的发包工具pktgen(http://www.linuxfoundation.org/collaborate/workgroups/networking/pktgen、http://lxr.linux.no/#linux+v2.6.38.8/Documentation/networking/pktgen.txt、ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/),这个工具以内核模块的形式存在,理论上性能应该比同等运行在应用层的工具性能要好,而且还是所谓的多核支持(的确是实打实),下面测试一下(临时用自己家里电脑上的虚拟机搭的环境,以便能够虚拟出需要的多个网卡来,不在意测试结果,而是这个测试过程)。 1,首先加载这个模块,当然需要先确定已经编译了它,加载成功后就会有对应的/proc接口,pktgen是每一个cpu绑定一个内核线程,我的虚拟机有4个cpu,所以这里可以看到4个kpktgend_*文件: #... [阅读更多]

读《病魔》后感

2012年2月19日 1 条评论 8,792 次浏览

《病魔》,作者为委内瑞拉人,阿尔贝托.巴雷拉.蒂斯卡,关于作者和本书的名誉不做多讲,这是上周在南山图书馆借的小本书,160页整,早早就看完了,却不知道该如何提笔来写读后感,即便是我照例想了很多事情,当然这并非我偷懒,也许只是话题过于沉重,亦或是我本身对此了解过少。 有人说:“人在世上,有时候就如一叶扁舟,不知要被风浪吹向哪里。”,可不管风浪怎么吹,最后的终点无非就是死亡,李白有诗云:“生者为过客,死者为归人”,也许不是所有人都懂得这个道理,但所有人都逃避不过这个事实。 小时候,我总觉得人死了躺在那个黑乎乎的棺材木里是一件多么恐怖的事情,可有一天,我想通了,如果我死了,躺在那个黑乎乎的棺材木里,感到恐怖的该是别人了,而不是我,所以从此之后,我再也不怕死。 很少有人会在自己活着时候去想自己会在将来某一天死去,更不会去想自己会怎么样的死去,当然,这貌似是有点杞人忧天的想法,活得好好的,又怎么会去想这个问题?可我有时候恰恰就会如此“庸人自扰”,我假设了千百种我死去的情景,可从来没想过我会因病而死,会在医院死去,这也许是我唯一努力回避的场景,直到看了《病魔》这本书。我在害怕死亡么?不,我只是在害怕病痛。 人,从出生那一刻起,就开始腐朽,看得见的,看不见的,谁也无法否认,谁也无法阻止,能在腐朽超越界限之前死去,也许是一件幸福的事情,但这种幸福的事情谁也无法预料自己是否能够把握,也许,我唯一能做的就是珍惜身体,重视健康,努力让这种腐朽来得更慢一点。 在我的印象里,还没有因病去世的亲人、朋友,直到几天前,打电话回家,妈妈告诉我,隔壁的奶奶去世了。乡下的邻居虽然不像城市里这样门对门、户对户,但邻里关系绝非城市里可比,我从小就受到隔壁奶奶的照顾,对于奶奶的过世自然是非常伤心。2012春节过年回家,立马去看望过,老人家受病痛很久了,说话很难受,可看到我后,仍然喊了我的乳名,可当时却没想到这会是我能听到的她的最后的声音。 佛经中常讲,人身难得,犹如须弥穿针,如此偶然的事情发生之后,却偏偏又会由于死去而消退,继续等待着下一次机缘,因为害怕死亡而消沉么?不,正是因为人生的短暂,才让它显得如此珍贵、如此精彩,面对死亡,我并不需要那么悲伤,真正需要做的,是在活的时候,努力去珍惜。 “跟我说话,别让我在寂静中死去。”,我不知道我将来是否会在寂静中死去,但现在,“跟我说话,别让我在孤独中活着。”,谢谢你,我的朋友。 ... [阅读更多]

Linux内核进程详解之三:flush-x:y

2012年2月18日 没有评论 19,172 次浏览

上一篇文章《设备文件与设备号》当然不是突然穿插而来的自言自语,而是理解本文的前提,下面来看。flush-x:y是一类进程,这在系列的上一篇文章里已经讲到过,系统的绝大部分的bdi设备都会有对应的flush-x:y内核进程,而这个x:y是对应bdi设备的设备号。 先看一下系统当前挂载的文件系统: #... [阅读更多]

设备文件与设备号

2012年2月18日 没有评论 27,846 次浏览

在Linux下,一切皆文件,设备也不例外,为了管理这些设备,系统为它们各自都编了号,而每个设备号又分为主设备号和次设备号。主设备号用来区分不同类型的设备,而次设备号用来区分同一类型内的多个设备。 一个Linux系统,当前所有注册设备的主设备号可以通过/proc接口查看: #... [阅读更多]

Linux内核进程详解之二:bdi-default

2012年2月18日 没有评论 12,777 次浏览

bdi,即是backing device... [阅读更多]

那只名为Tux的可爱企鹅

2012年2月16日 没有评论 14,638 次浏览

Tux是Linux的吉祥物,看上去可爱极了,至少我非常喜欢它。 Tux的设计者是Larry Ewing,他于1996年,利用GIMP软件设计出了这个企鹅,并在以下条例下发布:Permission to use and/or modify this image is... [阅读更多]

分类: *nix技术 标签: , ,

加了-g选项仍然无调试符号

2012年2月16日 没有评论 15,229 次浏览

看标题像是一个很怪异的问题,其实只是一个小失误导致。 今天下午,一同事过来说,已经加了-g选项进行编译,但gdb调试仍然提示无调试符号。我过去看看,先输入make... [阅读更多]

Linux内核进程详解之一:sync_supers

2012年2月15日 没有评论 16,276 次浏览

先说下环境,CentOS 6.0/Linux kernel 2.6.38.8/X86-64,后面提到的代码也都来之kernel... [阅读更多]