感觉过去一年总在飞机上飞来飞去,希望来年不用这么痛苦了,哈哈
补上春节雪景图一张,这么大第一次看到雪呢,嘿嘿。
Feb 03 2010
tun devices encapsulate IPv4 or IPv6 (OSI Layer 3) while tap devices encapsulate Ethernet 802.3 (OSI Layer 2).
今天搞了一个下午,把几个地区的网络用openvpn连起来了,如果用tun的话,就是模拟了一个p2p的环境,虽然能够连接到同网段别的ip,但是无法广播,这样就无法实现到某些网段的跳转网关了。
后来才看到有tap方式,以前一直没留意这个有什么用,查了手册才发现这个是模拟一个局域网的环境,非常赞,广播有了,怎么指定网关都可以了,哈哈。
ps:今天终于买到火车票。。。真难买啊。
Dec 24 2009
/proc/sys/kernel/shmmax - The maximum size of a shared memory segment. /proc/sys/kernel/shmmni - The maximum number of shared memory segments. /proc/sys/kernel/shmall - The maximum amount of shared memory that can be allocated. /proc/sys/kernel/sem - The maximum number and size of semaphore sets that can be allocated.
cat /proc/sys/kernel/shmmax
To change the maximum size of a shared memory segment to 256 MB enter:
echo 268435456 > /proc/sys/kernel/shmmax
To view the maximum number of semaphores and semaphore sets which can be created enter:
cat /proc/sys/kernel/sem
This returns 4 numbers indicating:
SEMMSL - The maximum number of semaphores in a sempahore set
SEMMNS - The maximum number of sempahores in the system
SEMOPM - The maximum number of operations in a single semop call
SEMMNI - The maximum number of sempahore sets
For WebSphere MQ:
To increase the maximum number of semaphores available to WebSphere MQ, you should update the SEMMNS and SEMMNI values.
If you are using a pluggable security module such as PAM (Pluggable Authentication Module), ensure that this does not unduly restrict the number of open files for the ‘mqm’ user.
The following is a summary of techniques to maximize TCP WAN throughput.
TCP uses what is called the “congestion window”, or CWND, to determine how many packets can be sent at one time. The larger the congestion window size, the higher the throughput. The TCP “slow start” and “congestion avoidance” algorithms determine the size of the congestion window. The maximum congestion window is related to the amount of buffer space that the kernel allocates for each socket. For each socket, there is a default value for the buffer size, which can be changed by the program using a system library call just before opening the socket. There is also a kernel enforced maximum buffer size. The buffer size can be adjusted for both the send and receive ends of the socket.
To get maximal throughput it is critical to use optimal TCP send and receive socket buffer sizes for the link you are using. If the buffers are too small, the TCP congestion window will never fully open up. If the receiver buffers are too large, TCP flow control breaks and the sender can overrun the receiver, which will cause the TCP window to shut down. This is likely to happen if the sending host is faster than the receiving host. Overly large windows on the sending side is not a big problem as long as you have excess memory.
The optimal buffer size is twice the bandwidth*delay product of the link:
buffer size = 2 * bandwidth * delay
The ping program can be used to get the delay, and tools such as pathrate to get the end-to-end capacity (the bandwidth of the slowest hop in your path). Since ping gives the round trip time (RTT), this formula can be used instead of the previous one:
buffer size = bandwidth * RTT.
For example, if your ping time is 50 ms, and the end-to-end network consists of all 100 BT Ethernet and OC3 (155 Mbps), the TCP buffers should be .05 sec * (100 Mbits / 8 bits) = 625 KBytes. (When in doubt, 10 MB/s is a good first approximation for network bandwidth on high-speed R and E networks like ESnet).
There are 2 TCP settings you need to know about. The default TCP send and receive buffer size, and the maximum TCP send and receive buffer size. Note that most of UNIX OS’s by default have a maximum TCP buffer size that is way too small 1 Gbps pipes, and all have a maximum that is too small for 10 Gbps flows. For instructions on how to increase the maximum TCP buffer, see the OS specific instructions for setting system defaults.
Linux, FreeBSD, Windows, and OSX all now support TCP autotuning, so you no longer need to worry about setting the default buffer sizes. But for Solaris or other older OSes you’ll need to use the UNIX setsockopt call in your sender and receiver to set the optimal buffer size for the link you are using.
/proc/sys/net/core/rmem_max – Maximum TCP Receive Window
/proc/sys/net/core/wmem_max – Maximum TCP Send Window
/proc/sys/net/ipv4/tcp_timestamps – timestamps (RFC 1323) add 12 bytes to the TCP header…
/proc/sys/net/ipv4/tcp_sack – tcp selective acknowledgements.
/proc/sys/net/ipv4/tcp_window_scaling – support for large TCP Windows (RFC 1323). Needs to be set to 1 if the Max TCP Window
Dec 23 2009
转载博文一篇,共赏一下
本文由Yurii原创,转载请注明来源: 乱象,印迹
“无聊!”,这是最近听得比较多的抱怨——上班累的半死,回来好像精疲力尽,又没什么爱好,尽管想干点什么,总也不知道该干什么,无从下手……
其实,这算不上个人的问题,看看一百多年前波德莱尔淋漓尽致的描述,你就知道,这其实是一种普遍的状态:
(大意)
上帝一年三百六十五次赐给他沉重的一天
……
魔鬼在他身后驱赶:生活!继续生活!
要想摆脱这种状态,光靠哲学是不行的,思辨往往失之空洞,缺乏坚实的内容;依靠外界压力也不行,如果没有真正内化为自己的动力,压力只能带来更深重的虚无和枯燥;依靠等待更不行,等待太过消极,如果我们“等待”的事件(尽管很多时候不明白它是什么)迟迟不发生,等待就只能突然浪费时间,一无所获。
对抗虚无,我的经验是:习惯。这里说的“习惯”,不是habit(习性),也不是custom(风俗),而是routine(常规)。
先来讲个小故事吧。我的一位朋友,天资聪颖,成绩优异,现在美国攻读Ph.D。一次聊天,他很高兴地说起,自己最近终于做成了一件事。我很好奇,“到底是什么哪?”
原来,是睡觉前刷牙。
这位老兄从小忙于学习,经常用功到很晚,然后匆匆歇息——万籁俱静,倦意绵绵,这时候刷牙再睡觉,简直成了一大难题,而他也就屡屡败下阵来,给自己找个理由,径自睡去。直到大学念完,仍然没有养成睡前刷牙的习惯。终于有一天下决心,痛改前非,每天临睡,哪怕再困再累,也要督促自己一定要刷牙。如此坚持了数月,无意间发现,刷牙已经成了习惯,也就是每天必做的事情,不刷牙,就会觉得别扭,再也不用挣扎、辩论,说服自己去刷牙了。
回到虚无感的问题。几十年前,胡适先生就开过药方:1.总得时时寻一两个值得研究的问题;2.总得多发展一点非职业的兴趣;3.你总得有一点信心。
胡适先生说的非常好,非常有道理,但仍有朋友觉得做起来很难——我有兴趣,但确实太累了,确实没时间……
我相信,累是自然且当然的,大家都很累。累的时候,是否还有精力去干点别的——譬如胡适先生所说的,有意义的事情——并不完全取决于你的疲劳程度,和这些事情需要的精力,在这之外,还有一个因素,就是自己的意愿程度,或者说,意志。
而意志,很多时候不是兴趣能够支撑的:“我很有兴趣,但实在是心有余而力不足”。我不知道如何把兴趣提升到能支撑意志的程度,但我知道,培养习惯,能够支撑意志——如果“干点别的有意思的事情”成为生活的必须,成为老一套的日常事务,做与不做,其实是不需要太多考虑,也不需要太多理由的。
李笑来老师在《为什么大家都努力,最终却有更多的人不成功?》里提到:
如果我没有理解错,“永远保持旺盛的‘好奇心’”,其实也是一种习惯:求知已成为生活的惯性,你甚至可以不用反思,不用怀疑,也不用去想太多意义,只要循着这惯性,一路前行,就足够了。
努力培养些好的习惯,某一天,你就会发现,自己已经远离虚无,也不再需要理由,不再需要挣扎。就好象那位老兄,一旦刷牙成为习惯,根本找不到,也不会想到要找不刷牙的借口了。
Dec 21 2009
大部分Linux发行套件都有针对x86_64处理器的版本。比较典型的x86_64的处理器有ADM Athlon II和英特尔Xeon。因为这些Linux发行套件都有自己专用的软件源,这些软件源会为提供所有它所支持的应用软件的二进制包。如果你满足于Linux的安装方式,你可能不会需要运行32位的程序。
一些Linux商业软件,尤其是游戏,只提供32的版本。因为某些特殊的理由,你可能需要配置你的电脑来运行32位的软件。
而在64位linux下运行这些32位系统的时候,经常会出现:
No such file or directory 错误。
只需要安装32位的支持库,就可以解决以上问题。
因为x86_64处理器是为x86技术涉及,所以它也是支持32位程序的。在Linux里,你所需要做的就是为这些软件安装必要的软件库。幸运的是,大部分Linux发行版本已经将这些打包好了。比方在Ubuntu/debian里,这个包就叫做ia32-libs。为了安装它,你可以打开一个终端,然后输入下面的内容:
sudo apt-get install ia32-libs
Dec 15 2009
Dec 07 2009
哥们去微软面试,第一句话就被赶出去了,巨郁闷!
考官;windows 7专业版在中国大陆的零售价是多少?
我:5元
考官:出去,下一位
放弃这两个字在哥的字典里面就没有出现过,
我投啊投啊,
终于得到了google面试的机会
但是,去google面试,才回答一个问题就又被赶出来了…
考官:你从哪得到google面试的消息
我:百度的
考官:出去,下一位
哥郁闷了,但是还是要先养活自己啊。
拖朋友找到了麦当劳的工作。。
但是对方很变态,让我唱麦当劳的歌曲,
当时哥就笑了,麦当劳的歌曲我从小就会。
于是我张口就来:有了肯德基,生活好滋味!
考官:出去~~~~~~~~~
麦当劳面试失败了。
我妈妈拖人找了一个移动客服的工作,
妈妈说这个不要技术,你先试试,我想都没想就答应了。
面试很顺利,对方也很欣赏我,最后考官对我说:
你很不错,请留下你的电话,我们好通知你上班。
我:“132…….”
考官:出去。。。。
哥心都碎了。。。失业这么久,吃家里的,喝家里的。
家人看我的眼光都带着一点无奈。
走到一家商城,看到阿迪正在找店员,我想我去试试应该可以的
考官:请说出我们的口号,
我:just do it
考官:出去,下一位。
一次次的失败,并没有打击我的信心,
于是我静下心来,苦苦学习,终于以优异的成绩考上了我们地方的公务员。
不过,TMD还是要面试。
面试过程中我对答入流,看见考官的脸,我觉得这次工作没有问题了。
正在高兴的时候。
考官问我:小伙子,你最喜欢那个历史人物啊。
我想都没想就回答:和珅!
考官:出去。
这一次的失败,我对人生有了很重要的考虑,回顾以前的种种,
我终于发现,最最关键的就是,我有一些问题答的不对。
不过这一次的面试,我可是做好了最充分的准备。
NOKIA的产品部门通知了我,我花了一周的时间做好了全部的工作。
甚至口号没有喊错:科技以人为本。
考官很满意说:如果不出意外的话,你明天就可以来上班。
这个时候,电话响了,出现了一个不和谐的声音:”hallo moto”
考官:出去。
Dec 07 2009
他,一个圣骑士.
她,一个牧师.
从公测他就照顾她,他和她练级,下副本,去战场.在他心中,她就和一个快乐的小天使一样.
他拿到了逐风者禁锢之颅右半时,她告诉他:等你收集全了两半头时,我送你个礼物好伐?
他说:什么礼物啊? 她笑而不答.
几个月后的一天,她告诉他她的父亲不在了,车祸.为了不伤母亲的心,她再也不会玩游戏耽误学业.
她告诉他说还记得她承诺给他的礼物吗?他摇头.
今天他终于知道了答案
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
这个小D早晨上的时候有一个人交易她
他们两个并不认识
小矮人之说了两句话 “song ni de” “yu bie diu”
鱼别丢……
我们残存在这个游戏中的记忆我想不会全都是装备吧
你还存有第一个绿装么?
你还存有掉上来的好玩的东西么?
你还存有对于游戏中 童年的玩具么?
你可能会说他们没有什么实际意义和价值
但是它的确是构成了我们游戏人生的一部分
或许在我们临走的时候将自己心爱的玩具送给别人
可能在我们即将告别游戏的时候将自己的得意之做送给别人
可能你的身影就会在游戏中永远的活下去
或许我们已经开始回想拿升级的日子的酸甜苦辣
宣泄吧可能你会找到一种与众不同的游戏方式
许多年后,当wow早以被人遗忘,你还会留下哪些回忆?
紫装备?金币?
你会记得一起游戏的伙伴么?会记起首次踏上艾泽拉斯大陆的那份惊喜么?会记得和伙伴们一起组队作任务的种种趣事么?会记得在中立地区和敌对玩家团p的热血和激情么?会记起经历慢慢升级路程终于到60的欣喜么?会记得收获第一件紫装的兴奋么?
会记得和队友并肩作战,战胜一个一个看似不可战胜的boss的开心么?会记得身边的朋友因为种种原因不得不离开的牵挂和不舍么?
珍惜现在吧,更多关注身边的朋友吧,更多的去关注游戏的乐趣吧,不要在追求装备的道路上迷失了自己,迷失了自己游戏的初衷,保留住自己的鱼,鱼别丢.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
“老大,以前没机会给你加血,现在让我加一加吧。”
我30级时,他进了我的会,“新手小德一只,请多关照。”我欣然一笑,塞给他几个小包。
我37级时,他在西部荒野,“老大,这个天赋怎么加呀?”我微微一笑,让他点了野性战斗。
我47级时,他在死亡矿井,“老大,法师抢我法杖,哭。”我哈哈一笑,带他刷了一把火石。
我61级时,他在诺莫瑞根,“老大,这个战士不如你啊。”我自豪一笑,扫荡了诺莫瑞根。
我英雄本混牌时,他在加基森,“老大,老虎骑宠在哪买啊?我想骑。”我潇洒一笑,告知他后邮寄了100金币。
我开荒卡拉赞时,他在冬泉谷,“老大,这是我做的熊肉串,多吃点。”我高兴一笑,每逢开怪前都会吃上一串。
我开荒格鲁尔时,他在刀峰山,在我面前跳来跳去,“老大,带我一起玩吧。”我无奈一笑,说等你70级一定带你。
我有急事AFK了一星期时,他在奥特兰克山谷,“老大,你看,我现在有一件紫装!”我苦涩一笑,主力已经差不多退完了。
我组不起卡拉赞时,他在我团里,“老大,咱们去哪玩?”我无言一笑,解散了公会。
我休息了一个月,等一切都稳定下来后,又重新回到了魔兽世界,加入了我朋友的会,开始了每天7点半活动,12点解散的日子。
我装备提升的很快,但心中却无比空虚。以前的那个休闲小会的影子总是出现在我心里,向往?怀念?我不知道。
路是我自己选的,不管对错,走下去吧。
又一天活动结束了,疲惫的我回到铁炉,收几个邮件准备下线,突然有人组了我。
“老大,是我!”
“你好吗?”
“怎么不说话呢?”
“老大,以前没机会给你加血,现在让我加一加吧。”
那一刻,我知道了什么叫作泪如雨下……
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
在现在飞机满场飞,人人跳场拿那可怜的几点荣誉,在UT队伍因为不顺利和自己队友闹翻的时候.
你们有谁坚持过?有谁真正的捍卫那份真正的荣誉.
大家都会尊重你,一个真正的圣骑士
Nov 24 2009
# FRAMEBUFFER RESOLUTION SETTINGS
# +————————————————-+
# | 640×480 800×600 1024×768 1280×1024
# —-+——————————————–
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
# +————————————————-+
ubuntu 9.10 使用了最新的grub2,启动参数好像有不少变动,虚拟机的分辨率调整:
方法1,还是原来的vga=788
编辑 /etc/default/grub ,中的GRUB_CMDLINE_LINUX=”vga=788″
保存以后运行update-grub
但是这样子会显示
vga=788 is deprecated and asks me to use “set gfxpayload=800x600x16;800×600” before the linux line.
意思就是vga参数已经是建议不要使用了,要用另外一种方法:
方法2:
编辑/boot/grub/grub.cfg
找到引导linux那几行
增加 set gfxpayload=800x600x16,注意不要带分号,如下:
### BEGIN /etc/grub.d/10_linux ###
menuentry “Ubuntu, Linux 2.6.31-14-generic-pae” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,1)
search –no-floppy –fs-uuid –set 9a441a57-5a71-4800-b46d-2e4c1cec6dee
set gfxpayload=800x600x16
linux /boot/vmlinuz-2.6.31-14-generic-pae root=UUID=9a441a57-5a71-4800-b46d-2e4c1cec6dee ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic-pae
}
Nov 06 2009
一个常见的错误是,命令行双引号中使用%时,未加反斜线\,例如:
# 错误的例子: 1 2 3 4 5 touch ~/error_`date "+%Y%m%d"`.txt
在守护进程发出的电子邮件中会见到错误信息:
/bin/sh: unexpected EOF while looking for `'''''''
# 正确的例子: 1 2 3 4 5 touch ~/right_$(date +\%Y\%m\%d).txt # 使用单引号也可以解决问题: 1 2 3 4 5 touch ~/error_$(date '+%Y%m%d').txt # 使用单引号就不用加反斜线了。这个例子会产生这样一个文件 ~/error_\2006\04\03.txt 1 2 3 4 5 touch ~/error_$(date '+\%Y\%m\%d').txt
下例是另一个常见错误:
# Prepare for the daylight savings time shift 59 1 1-7 4 0 /root/shift_my_times.sh
初看似要在四月的第一个星期日早晨1时59分运行shift_my_times.sh,但是这样设置不对。
与其他域不同,第三和第四个域之间执行的是“或”操作。所以这个程序会在4月1日至7日以及4月余下的每一个星期日执行。
这个例子可以重写如下:
# Prepare for the daylight savings time shift 59 1 1-7 4 * test `date +\%w` = 0 && /root/shift_my_times.sh
另一个常见错误是对分钟设置的误用。下例欲一个程两个小时运行一次:
# adds date to a log file * 0,2,4,6,8,10,12,14,16,18,20,22 * * * date >> /var/log/date.log
而上述设置会使该程序在偶数小时内的每一分钟执行一次。正确的设置是:
# runs the date command every even hour at the top of the hour 0 0,2,4,6,8,10,12,14,16,18,20,22 * * * date >> /var/log/date.log
# an even better way 0 */2 * * * date >> /var/log/date.log