123
 123

Tip: 看不到本站引用 Flickr 的图片? 下载 Firefox Access Flickr 插件 | AD: 订阅 DBA notes --

2008-06-15 Sun

22:00 Links for 2008-06-15 [del.icio.us] (216 Bytes) » Fenng's shared items in Google Reader
19:37 Solaris添加用户时碰到两个小错误 (645 Bytes) » yangtingkun
在Solaris上使用useradd命令添加用户时碰到了两个小错误。本来很简单的一个命令,没有想到会碰到问题。第一个错误是用户名太长:# useradd -g dba -d /export/home/oracle817 oracle817UX: useradd: oracle817 name too long.这个错误很明显,而且根据经验可以轻易的推测用户名长度限制是8。第二个错误就有些迷惑了,报告密码文件不一致:# useradd -g dba -d /export/home/oracle8 oracle8UX: useradd: ERROR: Inconsistent password files. See pwconv(1M).通过错误信息很难确定到底是什么导致了问题,不过感觉上似乎是密码文件本身的问...
17:21 球迷熬夜看球必备技巧 (3746 Bytes) » 生活帮-LifeBang

最近欧洲杯如火如荼,我虽是个伪球迷但是却有一些看球经验,迫不及待的和大家分享。

资料准备充分

特别提醒广大伪球迷注意,一定要看CCTV5的赛前的预热节目,当然首发阵容了然于心,江湖恩怨耳熟能详的球迷就不需要了,呵呵,有了充分的资料准备,伪球迷才可以在看球的时候完全的投入,也不至于说一声“怎么没见英格兰?”“大哥!英格兰就没进小组赛好不好!”

千方百计找空补觉

补觉的同时要注意睡眠质量,能睡半个小时都会令你看球时精力充沛,要知道,看球也是拼身体啊。。。我和大家分享一下GTDLife.cn的经验:想补觉的时候看看模拟电路或者高数,效果甚佳。

别忘了闹钟

千万别把你的女朋友、老婆、哥们当闹钟,这时候谁都不能相信,只能相信机器!

晚饭不要吃得太饱

吃的太饱容易打瞌睡,错过了进球可是非常可惜的。

看球时不要坐在舒服的沙发上,特别是不能坐在床上

身体一旦遇到了舒服的东西,再加上舒服的姿势,纵使你有再坚强的毅力也改变不了呼呼大睡的命运

小心别着凉

特别是秋冬季,或者下雨的夏天夜晚,在肚子上盖一块小毛巾被比较好

特别提醒女性球迷

  • 熬夜前一定要卸妆,也不要涂抹任何的东西,做到素面朝天,否则长痘痘我可不负责
  • 不要买太多的零食,女孩子一旦吃起零食来是很可怕的,特别是注意力都在足球上的时候。否则很容易发胖哦。
  • 如果实在对足球不感兴趣就不要陪老公看球,别指望他那个时候会搭理你,给你解释“足球场上有多少个人踢球”之类的问题。
标签:, ,

相关内容

14:23 Horde/Routes 0.3 Released (1934 Bytes) » Fenng's shared items in Google Reader

Horde/Routes is a URL mapping system for PHP 5. It is a direct port of the Routes, a Python library that is part of the Pylons project. Horde/Routes is a standalone library designed to be integrated into any MVC framework.

This release brings in some changes from Routes 1.8. The most noticeable change is that custom actions on RESTful routes are now delimited with the forward slash (/) instead of the semicolon (;). This was done for parity with Ruby on Rails.

I have also fixed some bugs, notably that the resource route generator failed to generate routes that recognized PUT and DELETE requests on “formatted” resources (/messages/1.xml). This fix will be merged upstream to the Python version.

I am also using the Python version and I met with Ben Bangert, the author of the Python version, at PyCon 2008. Each release of Horde/Routes has resulted in patches to the Python version. It’s nice how this small ecosystem has developed around the routes concept between these projects (Ruby on Rails, Pylons, and our work in Horde).

Since Horde/Routes 0.3, the default RESTful routes generated by Horde/Routes are fully compatible with the latest version of ActiveResource. We have a new project at work that is using Horde/Routes and ActiveResource together and it works well.

13:13 Event snapshots (1 Bytes) » Oracle Scratchpad
07:40 Advanced Oracle Troubleshooting Guide, Part 6: Understanding Oracle execution plans with os_explain (1 Bytes) » Tanel Poder's blog: Core IT for geeks and pros
06:51 技术与产品-有感于google和口碑的搜房产品 (8232 Bytes) » Fenng's shared items in Google Reader

    这几日,房东要涨房价,因此准备看看我住的地方的房价。打开google,看到有个生活栏目,进去一看,也能搜房子。突然,我被它震惊了。【顺便看了一下它的其它产品,例如餐饮、工作(看到它和招聘网的合作)、出行票务,都是一个思路。】

  1. 产品简单,很容易使用,看不到无关的东西
  2. 搜索到的信息很多,但来源不同
  3. 列表情况下,鼠标放到某个信息位置,同步在右边的小地图,就能看到变量的位置指示
  4. 地图模式下,选择某个区域,放大后,右边就会列出选中区域的信息
  5. 地图模式下,鼠标点击地图的某一个数字圆圈上,就能提示处这个位置的房屋信息
  6. 切换城市的小标签,也很是方便,要是再有个输入框,就更好了【可能和它目前之提供这些城市的信息有关,不需要用户输入,这个界面就可以做到。当然了,如果能达到www.yoee.com选择飞机出发城市的效果也许更好】

下面就看看几张图:
列表模式:
房子列表
地图模式:
房子列表
信息来源:
房子列表
口碑抓图:
房子列表
演示链接:
Google列表搜索模式   
Google地图搜索模式  
口碑搜索模式

    Google在这个产品中,充分利用了它的搜索技术、地图技术、AJAX技术,把三者完全整合在了一起。在看看Google在其它产品中对地图的使用。我们不得不惊叹它内部的架构是多么强大,一个产品可以容易的应用到不同业务中,这又是一个基于SOA思想的真实案例【参看这些都不是SOA,Google把它内部的产品完全服务化,基于这些产品,能够快速的推出各类中产品】。
    反之,我们再看看Yahoo中国与Alibaba的结合,最近Yahoo中国与口碑的合并,很难看到Yahoo的搜索技术【yahoo虽然在06年也推出了地图服务,但现在却很少看到应用,特别是中国】对Alibaba、对口碑产生的技术支撑【纵观整个alibaba集团,在技术层面,缺少集团层面的架构规划和设计】。
    2个公司产品,至少在查询房屋信息这个业务目标上是一致的。在这个业务目标上之所以产生了如此巨大的差异,来源于技术的差异,口碑的技术不能支撑它达到Google的这个高度【我也看到其它一些房屋搜索产品,甚至提供了三维地图,但用起来却没有google的这么爽?为什么,除去信息地图信息不完整之外,还有Web页面技术上的差别】,我想口碑也是很希望做到这个效果的。
    在Google这个产品的背后,还隐藏着云计算的支撑。这么大量的房屋信息,地图数据,速度却非常快,依赖一般的服务器技术是很难实现的。有时候,我总觉得Google的云有些虚,但它已经通过一个一个的产品来证明云的强大和实在【或者说Google得技术的强大】。
    细节的差异,这2个产品,在页面设计上,输入框的摆放上,也有很大的差距,体验也很不同。我们很多网站,在做页面时,只是简单的参考别的网站的样子,而不花费大力气在页面设计上,设计出来的网站毫无新意,死气沉沉。

    Google在这个产品中,没有自己的房源录入功能,它完全聚合了外部的独立房屋信息提供者。它提供的是一个平台,至少这些房屋信息提供网站,不需要开发这样一个强大的终端【或许它也开发不出来】,每个房屋信息提供网站只需要专注于自己抓住自己的房源【注:从知名度,广告收益等角度看,对于大的信息提供网站是弊大于利;对于小的信息提供网站事利大于弊。对于Google来说,通过这种方式,可以吸引更多的客户,让小的信息提供网站成为信息提供商,自己免去信息维护;自己再把这些信息包装成产品,从而开拓新的业务领域—整合优势、双边获益。Yahoo中国如果能够整合Alibaba的商业信息,其它一些小的商务网站的信息,或许是个好注意。疑问:Google未来是否会成为一个门户平台(或服务平台),它提供类似搜房这样的产品,信息都是别人的,自己只是一个门】。
    
以前,我对技术鼓励创新感觉还是模糊的,Google的这个例子,震惊了我。同样的业务,通过技术,整合,好的产品设计,也能够起到老树开新花的效果。
【感受总结】

  1. 架构:整个公司(集团)层面的架构的好坏,对业务有很大的影响
  2. 技术研究不可或缺,没有扎实的技术,有些业务很难达到预期效果
  3. SOA的思想,要贯彻业务和技术2大层面
  4. 开放、协同、整合同样能够带来新的产品;甚至扩大市场
  5. 云计算不是虚的;要支撑无限扩大的业务量,必须发展云计算(分布式技术)
  6. UI技术的研究,对产品体验的好坏,影响巨大
  7. 产品设计(UI设计),不是简单的摆放
  8. Google的这种侵入模式,对同类业务的网站是否有很大的冲击,再观察之。但这种模式,却值得我们借鉴–技术与业务的出色结合。
  9. Google中国正在变化,它利用自己的技术在不断变化
  10. 技术型网站和业务型网站发展的方式很不同。但技术和业务最后必须同步发展,互相支撑,终点时啥样?或许2者和为一体!
06:08 Linux中如何将文件dump成16进制值 (4606 Bytes) » NinGoo@Net

Author:NinGoo posted on NinGoo.net

linux中有多种方式可以将文件dump成16进制显示,也可以将16进制值再反向成文件。

$ hexdump test.txt
0000000 524f 2d41 3030 3036 0a30 524f 2d41 3030
0000010 3630 0a30
0000014

$ od -x test.txt
0000000 524f 2d41 3030 3036 0a30 524f 2d41 3030
0000020 3630 0a30
0000024

$ xxd test.txt
0000000: 4f52 412d 3030 3630 300a 4f52 412d 3030 ORA-00600.ORA-00
0000010: 3036 300a 060.

注意到hexdumpod出来的结果都是按实际存储的字节序,因为基于x86的linux是little-endian的,也就是高低字节是颠倒了的。但是xxd的结果是将字节序调整过了的。而IBM的Power CPU是big-endian的,所以在AIX上od的结果如下:


$od -x test.txt
0000000 4f52 412d 3030 3630 300a 4f52 412d 3030
0000020 3036 300a
0000024

xxd还可以实现从16进制反向生成文件,只需要加上-r选现即可。

xxd test.txt | xxd -r
ORA-00600
ORA-00060

$ echo 0000000: 4f52 412d 3030 3630 300a 4f52 412d 3030 | xxd -r
ORA-00600
ORA-00

但是要注意xxd接受的是big-endian格式的16进制值,如果输入的是little-endian的,则生成的文件字符(包括换行符)是两两颠倒的。

$ od -x test.txt | xxd -r
RO-A0006
0RO-A0060
0

vi编辑器中可以使用:%!xxd 调用xxd来将文件转换成16机制编辑模式,编辑完成后再调用:%!xxd -r转换文件模式,从而使得vi具有16进制编辑的功能,:%!其实就是调用外部shell命令,需要注意的是xxd的字节序是big-endian的,不要搞错了。

如果你的Linux系统中找不到xxd命令,那么检查下是否有安装vim-common

rpm -qa | grep vim
vim-enhanced-6.3.046-0.40E.7
vim-X11-6.3.046-0.40E.7
vim-minimal-6.3.046-0.40E.7
vim-common-6.3.046-0.40E.7


Related Articles

PermLink: http://www.ningoo.net/html/2008/how_to_dump_file_to_hex_and_reverse.html

Add Comments(0) | Follow NinGoo@Twitter | Google Reader

bookmark

06:04 我更愿意相信这样的人 (6588 Bytes) » Fenng's shared items in Google Reader

5月15日,我转载了一篇报道,标题只有两个字:《牛逼》。以下是这件事情的下文:

来源:《环球企业家》2008年6月5号刊 第11期 总第158期

陈光标---江苏省黄埔投资有限公司董事长

文 岳淼

在这场地震中,死亡的气味是从5月13号开始在都江堰这座城市弥漫开来的,所有的人都泪流满面。那天,我带领着60台卡车、挖掘机、吊车以及推土机出现在都江堰聚源中学。当我跳下车,数以千计的尸体就如同凝固的雕塑一样摆放在每一寸废墟的边缘之处,在深埋的废墟之下,无数人呻吟着死去。当时缺少救援设备,徒手搬运石块、钢筋混凝土的士兵们置身于最真实、最血腥的灾难现场,所有的人都极度克制着挫败感。

我率领的这只队伍,70%的人都当过军人。他们和我一样刚刚42小时前从江苏、安徽全国各地日夜兼程,几乎与军队同时抵达了灾区,我也骄傲地成为自发抗灾抵达地震灾区的首支民间队伍。

地震发生时,我正在武汉开董事会,突然接到了成都朋友的电话。心急如焚的我随即给远在合肥、南京负责拆迁业务子公司的下属们挨个打电话,要求组织120名司机、60台重型机械以及搭载的重型卡车火速开往成都。为节约时间,我告诉他们连衣服都不要换,但要加满所有车辆油箱的油。

当天,我带上25万现金、200万支票火速从武汉飞往成都。在上飞机前,我列了一个满满的采购清单:迷彩服、作战靴、水壶、饮用水、饼干蛋糕以及药品,根据经验,我特别采购了一批工程机械易损件,比如钻头和轴承,还有一个最重要的装备:油罐车。成都城内所有的油罐车要么已经被调往地震重灾区。要么司机担心震区危险,不愿意前往。最后我从内江找到了一辆10吨油罐车,加满柴油后用了两个小时赶到成都。

我挨个给手下的司机们鼓劲,强调三个原则:一不怕疲劳,二不怕牺牲,三要连续作战。我伸出左手要求所有人像我一样拳头握紧,高唱《团结就是力量》,我也不知道救援队伍中将来会不会有没有人员伤亡,这种事情很难说。5月14日凌晨三四点钟一直到晚上9点钟,车队陆续到达目的地展开救援。我一个人拿着大喇叭到每一栋可能有人的废墟上喊“有人吗?”。我做拆迁出身,经常指挥工人们进行废弃建筑物的定向爆破,对建筑结构多有了解,我并没有漫无目的地寻找。

在那种环境中,你很容易崩溃。在短短的1天之内,我们发现并营救出7名当时还活着的学生,最终活下来的只有4个。我对一个小姑娘印象深刻,她穿着花格子衣服。营救出来的时候,她还能清楚和我讲话,放在地上担架上两三个小时内眼睁睁就死了。晚上7时,对她的抢救宣告放弃。我呆呆坐在那儿,当时下着蒙蒙细雨,一个人憋得难受,就哭了---我的童年,兄妹5人,在困难时期,不幸活活饿死了两个。

在休息间隙,我前往难民聚集地发钱给他们,很快就发出了10多万。之后接到部队救援请求,我将车队划分为三拨,分别开往北川、什邡和绵阳。15号凌晨6点钟,我随即赶往北川中学救援。前往北川的道路被塌方所阻隔,并不好走。我带领的工程机械随即派上了用场,两台挖掘机很快在群山之中挖开缺口。欲哭无泪的家长们在残垣断壁下孤立无援。我那时候已经3天没有合眼了,心急如火。我又拿着高音喇叭对可能生还的地方呼喊,很快发现了另一名生还者。这名叫龚婷婷的女孩已经被深埋了长达60个小时,奄奄一息。我背起她,走在瓦砾之上,体力不支。脚步打滑,差点摔倒。背上的女孩向我的领口哇哇吐血不止,起初她还能说话,后来就不讲话了。现场没有医护人员。就这样,孩子无助地死去。我们在北川先后抢救了将近200人,但真正活下来的只有11人。在北川曲镇幼儿园我救出来一名叫曹小磊的男孩。他嘴巴干干的,在幼儿园床下瑟瑟发抖,终于活了下来。曹是这个幼儿园我们发现的唯一幸存者,而我则亲手埋葬了死去的43条年幼而鲜活的生命。

灾难来得太快太猛烈了,我救援的中学整个班除了跳窗的两名学生,其余人全部罹难。在操场上,等待认领的孩子遗体一字排开,有数十具之多。我难过极了,用书本盖住每一个逝去孩子们的脸,帮他们赶走飞来的苍蝇。

并不总是绝望。之后我驱车来到北川茶厂,几名香港志愿者正用生命探测仪在那里探测。一名37岁、名叫桑翠兰的女工被我们拖扶了上来。17号下午我被调配到映秀镇。负责在巴掌宽的塌方路面帮助军队进行道路施工,左右是陡坡、悬崖和深不见底的岷江,路面已经被震开碗口大的裂缝,可以伸脚插进去。崩裂的山体源源不断地从山顶垮塌下来,我整整推了两天半路,协助军队在岷江边打通了一条仅仅容纳一辆小车的临时公路后,物资和救援队才得以通过这条生命之路,源源不断进入映秀。

当离开一地前往另一地救援的时候,我都会在废墟前收集整理那些死去孩子们的课本,等撤回成都的时候,超过一千册,我托下属将这些课本空运到南京放在自己办公室里。这么做,一来是我想给自己留下永远的纪念,同时也想给那些与死去孩子在阴阳两界离散的家长们一个念想。

长达一周多的救援,救援队烧掉40吨柴油,临别时,油罐车司机连每小时3000块钱的工本费都没有收;在救援期间,我还在成都临时租赁了10余台挖掘机,刚开始说好,一小时工本费300块钱,工人最后一分钱都没有要。他们说我像条川江汉子,是个好人,而我则抱着他们哭。

06:00 Create Blog (2151 Bytes) » Grip Your Adsense!
Thoughts.com, it's not only a new blogging service, but also a community of bloggers all with free blogs.
The blogs are not traditional blogs from a design viewpoint rather posts which other community members can comment on, and, you can invite people to join it. You can also chat on the forums and they also have provision for contacting other members on instant message.
It is a Free Blog Community . Of course, you can get photos, videos or podcasts that want to share with your friends, family and all the world you can upload them here besides the conventional blogging feature.
Create Blog,Create a Free Blog or personal online journal at Thoughts.com. Upload photos, videos, podcasts, chat in the community forums and bookmark the latest news. Thoughts.com allows you to decide for each blog post if you want it to be public, private, or only viewable by your friends and family.
Their objective is to build and grow your a blog community at Thoughts.com. It is a great way to communicate ongoing news and information or just your own personal thoughts.
I like the way they have organized the navigation for user account very much. The navigation of the site is very friendly, and easy to navigate even for a most computer illiterate person. It’s easy to make the blog entries although they do not have html editor like most such platforms have.

04:49 Exposing the ORM Cache (193 Bytes) » Fenng's shared items in Google Reader
Familiarity with ORM caching issues can help prevent performance problems and bugs.
04:27 编写插件修改Wordpress的RSS输出 (3546 Bytes) » NinGoo@Net

Author:NinGoo posted on NinGoo.net

Wordpress是一款著名的开源blog平台,基于php,其灵活的模板(theme)和插件(plugin)架构,使得扩展性非常的好,通过模板可以随心所欲的变化前端展示,通过插件则可以实现额外的功能。比如可以通过插件修改rss输出,在其中加上诸如版权声明,相关文章等功能。另外,强烈建议在rss全文输出内容,经常在Google Reader中看到一篇好文章却只有摘要,点过去发现网站又无法打开,这种感觉真让人抓狂。

MyWordpressFeed.txt下载后另存为MyWordpressFeed.php,修改FeedRelatedPost函数中相应的地方,传到wp-content/plugins目录,到后台管理激活MyWordpressFeed插件,即可获得和我的blog一样的rss输出效果。php我只是略知皮毛,代码贴出来给有需要的朋友参考(Update:贴了半天代码,发现coolcode插件无法解析这种php里又输出html的代码,只好打包成txt文件,点击这里可查看或者下载)。


Related Articles

PermLink: http://www.ningoo.net/html/2008/write_plugin_format_wordpress_rss.html

Add Comments(0) | Follow NinGoo@Twitter | Google Reader

bookmark

03:46 NYTimes Article Reverberates Through Yahoo; Who’s Their Next CEO? (6961 Bytes) » Fenng's shared items in Google Reader

When blogs and regional newspapers trash Jerry Yang it’s one thing. But when the New York Times does it, people really notice. Public lynchings like this are few and far between from that bastion of traditional journalism.

Yesterday’s article by Joe Nocera, titled “Oh Jerry, It’s No Longer Your Baby” was a stinging condemnation of Yang. It’s presented as a memo from Nocera to Yang, with the subject “Shafting Yahoo’s Shareholders” and outlines the many ways Yang has failed Yahoo’s shareholders and employees.

In reference to the recently announced Google search deal, the article says “You’ve chosen to become a pawn of the most dominant company on the Internet. How exactly is that going to lead to a brighter future for Yahoo?”

Nocera also condemns Yang for purposefully killing the Microsoft negotiations even thought the deal was in the best interests of shareholders, watching as key employees walked out, and generally running with his emotions rather than taking care of business.

The article ends with “Jerry, you’re a billionaire because people all over the world bought your stock, and trusted you to do right by them..It doesn’t matter that you would like Yahoo to remain independent, or that you can’t stand Microsoft. Your feelings aren’t supposed to get in the way of your fiduciary duty…A takeover by Microsoft was your last, best hope of rewarding your long-suffering shareholders. Now that opportunity is gone…I would be taking odds that your days as Yahoo’s C.E.O. are numbered. It’ll be better for everyone to have someone in that role who understands who he’s supposed to be working for. Wouldn’t you agree?”

From what we hear from multiple sources close to Yahoo, this article may be the final straw - whether the board backs Yang or not, this is just too much negative press for the company to overcome. A fresh start is now a necessity for moving forward.

Yang will step down, our sources say. It may be next week or it may be next month, but it’s going to happen.

Who Will Be Yahoo’s Next CEO?

But who in the world would take the job given the state of Yahoo today? It would have to be someone there already, no outsider would want the job. Right? Well, maybe not.

President Sue Decker is considered to be too close to Yang, and lacking in operational experience. Other Yahoo execs are also unlikely candidates.

But the names of two ex-Yahoo’ers are being tossed around as people who may consider the job, and who may be able to fire up the troops enough to give Yahoo a fighting chance. Those people are Jeff Mallet, Yahoo’s former President. And Dan Rosensweig, Yahoo’s former COO.

Jeff Mallett

Jeff Mallett joined Yahoo as employee number 13 back in 1995, when the company was still privately held. He was there for seven years as President and COO. In the early days of Yahoo, Yang called himself, Mallett and former CEO Tim Koogle the “Three Amigos.”

Mallet moved on to other projects after he left Yahoo. He’s one of the owners of the San Francisco Giants, makes angel investments and was most recently the Chairman of SNOCAP, which sold to Imeem in February 2008.

Old time employees remember Mallett’s days as the golden age of Yahoo - at one time the company was worth $100 billion under his tenure.

Dan Rosensweig

Dan Rosensweig is another former Yahoo exec - he was COO until he left the company in December 2006. His departure was rumored to be largely driven by a power struggle with Decker, which he lost.

Rosensweig is now an Operating Principal at Quadrangle Group, a $6 billion private equity firm. My guess is that he’d strongly consider taking the job if offered - he’d relish the chance to show that he should have won that power struggle back in 2006.

Tim Koogle, Yahoo’s CEO before Terry Semel took over in 2001, would likely be another candidate to consider. But he’s long retired, and now (literally) sells high end real estate in Mexico with his wife. He may once have been part of the Three Amigos with Yang and Mallet, but don’t look to him to come and save Yahoo.

Crunch Network: CrunchGear drool over the sexiest new gadgets and hardware.

02:22 MySQL的benchmark函数 (3866 Bytes) » NinGoo@Net

Author:NinGoo posted on NinGoo.net

MySQL实现了很多独特的函数,有时候使用起来是非常的方便,或许这就是开源的好处吧。这里记录一下benchmark函数,一个用于测试MySQL函数性能的函数。benchmark函数只有两个参数,第一个是执行次数,第二个是要测试的函数或者表达式。返回的结果始终是0,执行时间才是我们需要的结果:


mysql> select benchmark(1e8,current_date());
+——————————-+
| benchmark(1e8,current_date()) |
+——————————-+
| 0 |
+——————————-+
1 row in set (31.08 sec)

mysql> select benchmark(1e8,abs(1));
+———————–+
| benchmark(1e8,abs(1)) |
+———————–+
| 0 |
+———————–+
1 row in set (1.31 sec)

除法的效率明显不如乘法:

mysql> select benchmark(1e8,1*1);
+——————–+
| benchmark(1e8,1*1) |
+——————–+
| 0 |
+——————–+
1 row in set (1.45 sec)

mysql> select benchmark(1e8,1/1);
+——————–+
| benchmark(1e8,1/1) |
+——————–+
| 0 |
+——————–+
1 row in set (19.47 sec)


Related Articles

PermLink: http://www.ningoo.net/html/2008/mysql_benchmark_function.html

Add Comments(0) | Follow NinGoo@Twitter | Google Reader

bookmark

00:40 [译]一些有趣的SYSCTL MIB (32574 Bytes) » Fenng's shared items in Google Reader
来源:《Absolute FreeBSD 2nd Edition》

说明:这是我翻译的书后的一则附录。sysctl总是一些人很喜欢改来改去的东东,和文章中提到的一样,改得不好就出事情。网上也有很多教人改sysctl的文章,不是过期,就是错的,比如一个很经典的例子,net.inet.tcp.sendspace=65535,相信现在还有人还这样改。照这本书里面看,写作时,7.0还是-CURRENT,但是已经可以用了,其实我想说的是,这本书里面的内容离现在还是比较近的。那天心血来潮起了翻译念头,然后动手,花了整整两天时间。不知道有没有人在我之前做这样的工作,反正我全部是自己一个字一个字地敲,中途唯一参考的就是《牛津高阶》和dict.cn。(en,还是那个......如果你要转载,麻烦看在我辛苦的份上注明本文的Permalink)希望这篇文章能成为大家修改sysctl时的一个参考。文章中有些我觉得翻译出来没法表达原意的词我在后面的括号里面注明了,还有,"See Chapter ××"的句子我就不翻译了,懒惰起来也没删掉。大家将就将就看吧。:)
鉴于时间仓促,译者水平有限,敬请广大FreeBSDer批评指正,我会及时修正里面的内容。谢谢。

-------------------------  下面是正文 -------------------------

这里按字典顺序列出了一些有用的sysctl MIB(Management Information Base,管理信息库),其中包含了一些已经不那么有用但经常会被拿出来讨论的MIB。你的系统上必然会有比这多得多的sysctl,在这里列出的只是我在实际工作中反复碰到的那部分。 记住,不假思索地修改sysctl能轻易破坏甚至摧毁一个正常工作的系统。例如,如果将资源的利用限制在当前需求底线以下,你就可以使小到一个进程、大到整个系统崩溃。因此,请确定你知道自己在做什么。如果你不知道,那么你的测试系统就可以派上用场了。每个sysctl的描述都指明了其何时可被修改。一些sysctl可以在任何时间修改,一些仅可以在启动时修改。还有一小部分sysctl为只读。对于每个sysctl,我会说明它是否是变量(variable)、开关(toggle)、可调整(tunable)这几种类型中的其中一种。变量拥有较宽的取值范围。开关只有两种有限的取值,1(启用所描述的服务)和0(关闭所描述的服务)。可调整型是在Boot Loader中被设置的(严格的说,一个启动时可调整的sysctl和真正意义上的sysctl还是有区别的,但是你可以通过设置sysctl来设置它们)。
kern.osrelease:  7.0-RELEASE 
只读。这里显示的是当前运行的FreeBSD系统的版本,诸如 
7.2-release、 8.0-current等等。 
kern.maxvnodes:  100000 
运行时变量。系统所有同时打开的vnodes (虚拟文件系统节点) 的最大数量。 
kern.maxproc:  6164 
启动时可调整。系统在任一时间可以同时运行的最大进程数。
kern.maxfiles:  12328 
运行时变量,启动时可调整。系统在任一时间可以同时因读写而打开的文件的最大数量。
kern.argmax:  262144 
只读。在一单独的命令行中你可以使用的最大字符数。在某些不寻常的情形下,你也许会超出这个限制,如果事确如此, 请参考xargs(1)。 
kern.securelevel:  -1 
运行时变量。当前内核安全级别. See Chapter 9. 
kern.hostname:  bewilderbeast.blackhelicopters.org 
运行时变量。主机名,与在/etc/rc.conf中的设置同。 
kern.posix1version:  200112 
只读。这里给出的是内核所遵循的POSIX版本。如果你想修改该值,请尽情地向FreeBSD Project贡献你用于使内核支持其他POSIX版本的代码。 
kern.ngroups: 16 
只读。 一个用户可加入的用户组的最大数量。 
kern.boottime:  { sec = 1187744126, usec = 946476 } Tue Aug 21 20:55:26 2007 
只读。 这条sysctl给出了系统启动时间, 它使用××时间和相同的、以人类友好方式表述的日期。 
kern.domainname: 
运行时变量。这条提供了YP/NIS域名,而非TCP/IP域名。如果你不使用YP/NIS,它将会留空。
kern.osreldate:  700052 
只读。 这是FreeBSD的版本,并非真实日期。许多ports按这条sysctl的值来自我配置。
kern.bootfile:  /boot/kernel/kernel 
只读。 这是系统启动使用的内核文件。即便你可以通过技术手段对其进行改动,别这样做。取而代之,重启并使用一个新的内核。它在一个运行着的系统上变化的唯一时机是在你告诉FreeBSD"安装一个新内核并且把旧内核移到了/boot/kernel.old下",但这已经是个特殊情况了。
kern.maxfilesperproc:  11095 
运行时变量。这是单个进程可以打开的文件的最大数量。
kern.maxprocperuid:  5547 
运行时变量。同一个用户ID(UID)可以同时运行进程的最大数量。
kern.ipc.somaxconn:  128 
运行时变量。系统在任一时间接受新连接的最大数量。如果你正运行着一台负载很重的服务器,你也许会想到要把这个值增加到256甚至512。
kern.ipc.maxpipekva:  16777216 
启动时可调整。 管道可以使用的最大内核内存的数量。
kern.ipc.pipekva:  212992 
只读。 这是管道当前使用的内核内存的数量。 
kern.ipc.shmmax:  33554432 
运行时变量。System V 共享内存段(shared memory segment)的最大尺寸。你也许将面临为一些大量使用共享内存的程序调整这个值的情况,尤其是数据库程序。 
kern.ipc.shmseg:  128 
启动时可调整。这是任一进程可以打开的最大 System V 共享内存数量。
kern.ipc.shmall:  8192 
运行时变量。这是 System V 共享内存可用的最大页面数量。
kern.ipc.shm_use_phys:  0 
运行时开关,启动时可调整。 启用这项意味着告诉 FreeBSD 它决不能将共享内存段交换出去。如果你正大量使用 System V共享内存,这可以提升性能,但是使得共享内存不能分页则令系统上的其他程序性能大幅下降。
kern.ipc.numopensockets:  70 
只读。 打开的所有类型的套接字数量,包括网络以及本地域(local domain)的套接字。 
kern.ipc.maxsockets:  12328 
运行时变量, 启动时可调整。 系统上所有可用套接字的总数。 包括Unix域套接字以及网络套接字。
kern.logsigexit:  1 
运行时开关。一个非正常退出的程序通常会发送一个信号,当这个开关启用时,程序名和退出信号被记录在/var/log/messages。
kern.init_path:  /sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/ 
sysinstall 
只读。 init(8) 是事实上的用户空间启动程序。这个sysctl列出了内核搜索init(8)的路径 。如果你破坏了你的系统(如,升级升坏了), 它提供了一系列系统查找一份init(8)拷贝的备用路径。这个sysctl还以init_path这个名字出现在boot loader中。
kern.init_shutdown_timeout:  120 
运行时变量。这是用户空间程序必须在关机过程中停止自身的超时秒数。在此时间过后,无论是否有程序还在运行,内核将停止工作。
kern.randompid:  0 
运行时变量。如果设置为0, 每个新近赋予的进程ID都将比前一个大。如果设置为一个更大的值,下一个PID将是随机的。随着此sysctl的值增加,下一PID的随机性也随之增加。 
kern.openfiles:  246 
只读。这是系统当前打开文件的数量。
kern.module_path:  /boot/kernel;/boot/modules 
运行时变量。这里列出了kldload(8)查找内核模块的目录。
kern.maxusers:  384 
启动时可调整。 许多年来,kern.maxusers 是系统管理员告诉BSD、FreeBSD为特定类型系统任务分配多少内存的万用窍门。现代FreeBSD系统会自动调整kern.maxusers。任何提及更改kern.maxusers的文档已经差不多过时了。
kern.sync_on_panic:  0 
运行时开关。当FreeBSD panic了 (see Chapter 21), 它会先不经同步地卸下所有磁盘。 其结果就是产生"肮脏的(dirty)"磁盘,如果你设置了这个sysctl,FreeBSD将尝试在挂掉之前同步所有磁盘。这是个相当冒险的事,因为你无法知道一个已经panic了的系统的所拥有的条件,也许你是通过尝试在panic后同步磁盘来确确实实地破坏数据或者底层文件系统,最终结果就是系统管理员和他所管理的系统一起panic。
kern.coredump:  1 
运行时开关。默认地,当一个程序崩溃时,FreeBSD产生一个core dump。把这个设置为0禁用core dump。它在嵌入式和无盘系统上最为有用。
kern.nodump_coredump:  0 
运行时开关。启用该项告诉FreeBSD在"core"文件上设置nodump标记。See Chapter 4. 
kern.timecounter.choice:  TSC(-100) i8254(0) dummy(-1000000) 
只读。 这里列出了系统上可用的硬件时钟。多数现代硬件都有四个共同的选项,按由好到坏的顺序:ACPI、i8254、TSC和dummy。这些数字给出了几种时钟的相对精确程度。
kern.timecounter.hardware:  i8254 
运行时变量。你可以通过修改这个地方来选择使用不同的硬件时钟。你必须在kern.timecounter.choice这个sysctl提供的选项中选择。 默认地,FreeBSD已经使用了最佳时钟。 
kern.timecounter.smp_tsc:  0 
启动时可调整。 如果该值等于0,意味着不要在这套硬件上使用TSC硬件时钟。TSC不能在多数SMP系统上正确地工作。 
kern.sched.name:  4BSD 
只读。 这是当前运行的内核所使用的调度器。
kern.sched.quantum: 100000 
运行时变量。这里给出了当使用4BSD调度器、其他进程都在等待CPU时间时,一个进程可以占用CPU的最大微秒数。如果你正打算改变它,你几乎可以肯定你做错了。ULE调度器不提供这个sysctl。
kern.sched.preemption:  1 
只读。这条显示出了内核中是否启用了优先权。优先权允许一个更重要的内核线程中断一个相比之下不太重要的内核线程。
kern.log_console_output:  1 
运行时开关,启动时可调整。 默认地,FreeBSD向syslogd发送控制台消息。(控制台消息不包括在控制台上输入命令的响应,仅是系统无论在某人登录与否的情况下都会在控制台上记录的消息。)把这条改成0就可以禁用此特性。 
kern.smp.disabled:  0 
启动时开关。可以通过设置kern.smp.disabled为1而在/boot/loader.conf中禁用SMP。
kern.smp.cpus:  2 
只读。 这是当前系统中运行着的CPU的数目。
kern.filedelay:  30 
运行时变量。这条sysctl决定了FreeBSD系统在vnode缓冲区和磁盘之间同步文件数据的频繁程度。频繁的同步会引起磁盘负载的增加,然而降低同步频率则会增加风险。注意,只有彻底理解缓冲区缓存(buffer cache)的系统管理员才应该考虑改一改它。
kern.dirdelay:  29 
运行时变量。这条控制了系统在缓冲区缓存和磁盘之间同步目录数据的频繁程度。它应设置为稍稍小于kern.filedelay的某个值。 再次说明,只有久经考验的系统管理员才能考虑修改它。
kern.metadelay:  28 
运行时变量。这条控制了系统在缓冲区缓存和磁盘之间同步文件系统元数据(filesystem metadata)的频繁程度。它应设置为稍稍小于kern.dirdelay的某个值。再三声明,只允许久经考验的系统管理员修改!瞎调整同步的频繁程度是一个深受数据丢失方面教育的绝好方法。 
vm.v_free_min:  3258 
运行时变量。在一个等待使用内存的进程被唤醒并告知可以运行之前必须处于可用状态的缓存页面和空闲内存之最小数值。 
vm.v_free_target:  13745 
运行时变量。组成空闲和缓存内存(free and cache memory)页面最小数量,虚拟内存管理程序根据这里的值来决定尝试维持还是增加。
vm.v_free_reserved:  713 
运行时变量。如果空闲内存页面数量降至这个值以下,虚拟内存管理程序就开始把进程交换出去。
vm.v_inactive_target:  20617 
运行时变量。通过标记活动页面为非活动,FreeBSD尝试保证至少这个数量的非活动内存。
vm.v_cache_min:  13745 
vm.v_cache_max:  27490 
运行时变量。所需最大和最小的虚拟内存缓存队列的尺寸。
vm.swap_enabled:  1 
运行时开关。该项控制交换空间(swap space)的使用。如果设置为0,你的系统不会使用交换分区,这在无盘系统上尤其有用。
vm.swap_idle_enabled:  0 
运行时开关。 
vm.swap_idle_threshold1:  2 
运行时变量。 
vm.swap_idle_threshold2:  10 
运行时变量。设置swap_idle_enabled告诉虚拟内存管理器,空闲进程将以比其他进程快的速度放入交换分区。后两个threshold sysctl告诉系统在认为不同类型进程为空闲进程之前等待多少秒数。默认值适用于多数情况,剩下的就只要启用vm.swap_idle_enabled就好了。这样可以帮助一些处于内存紧缺、正将全部的进程交换出去的系统不会影响自身。
vm.exec_map_entries:  16 
启动时开关。这是可以同时开始运行的进程数量。
vfs.nfs.diskless_valid:  0 
只读。如果为0,该系统并非处于无盘运行状态,如果非零,则为无盘系统。
vfs.nfs.diskless_rootpath:  
只读。这是无盘机器上的root文件系统的路径。
vfs.nfs.diskless_rootaddr: 
只读。这是无盘机器上的root文件系统的IP地址。
vfs.vmiodirenable:  1 
运行时开关。允许UFS使用虚拟内存系统来缓存目录查找,提升磁盘性能。 
vfs.usermount:  0 
运行时开关。如果启用,用户可以在他们所拥有的挂载点上挂载文件系统。这样非特权用户就可以挂载软盘、CD了。See Chapter 8. 
vfs.ffs.doasyncfree:  1 
运行时变量。这项告诉UFS文件系统在重新组织磁盘空间后异步更新inode和间接块(indirect block)。请参考sysctl vfs.ffs.doreallocblks。 
vfs.ffs.doreallocblks:  1 
运行时变量。默认地,FreeBSD 重新组织磁盘空间以便文件总是相邻地存放。事实上,UFS持续地整理着自身的碎片。将这里设置为0以禁用该行为。
net.inet.ip.portrange.lowfirst:  1023 
net.inet.ip.portrange.lowlast:  600 
运行时变量。一些程序或协议要求连接必须使用低位端口,表明它们由特权进程产生。记住,向外的(outgoing)TCP/IP连接使用一个本地系统上的端口。同时也记住,从0开始到1023的端口只能由root用户开放。这就意味着如果一个连接来源于低位端口,理论上它是以root身份运行的(还包括信任发起连接的这台机器没有被入侵)。FreeBSD使用范围在net.inet.ip.portrange.lowfirst (默认为1023)和net.inet.ip.portrange.lowlast (默认为600)之间的端口。我只知道修改这两个值的唯一一个靠谱的例子:在一些Intel网卡上的IPMI固件专门拦截前往623和644端口的UDP数据包。如果这样的卡你一张也没有,放着这两个别动。
net.inet.ip.portrange.first:  49152 
net.inet.ip.portrange.last:  65535 
运行时变量。当FreeBSD给来自非特权进程的向外连接分配随机端口时,它使用数值在net.inet.ip.portrange.first(默认为49152)和 net.inet.ip.portrange.last(默认为65535)之间的端口。
net.inet.ip.portrange.hifirst:  49152 
net.inet.ip.portrange.hilast:  65535 
运行时变量。一些程序为向外连接明确地请求一个高位端口以供使用。默认地,这个端口的范围与在net.inet.ip.portrange.first和net.inet.ip.portrange.last中指定的范围部分重叠,当然你可以通过使用hifirst和hilast这两个sysctl来分离这些范围。
net.inet.ip.portrange.reservedhigh:  1023 
net.inet.ip.portrange.reservedlow:  0 
运行时变量。这里指定了只能由root开放的端口范围。
net.inet.ip.portrange.randomized:  1 
运行时变量。默认地,FreeBSD 将为这种类型的连接分配在范围内的随机端口。
net.inet.ip.portrange.randomcps:  10 
运行时变量。这是在一秒内最大随机端口分配数量。如果所需随机端口不止这个数,FreeBSD 切换到顺序端口分配来避免耗尽系统的随机性。
net.inet.ip.portrange.randomtime:  45 
运行时变量。这是FreeBSD在恢复随机TCP/UDP端口分配之前,使用顺序端口分配的秒数。
net.inet.ip.forwarding:  0 
运行时开关。你也许希望FreeBSD充当路由器、网关或是防火墙的角色。通过设置这条sysctl,系统就可以在网络接口之间转发数据包了。
net.inet.ip.redirect:  1 
运行时开关。通过设置这条sysctl,一个用作路由或网关的FreeBSD 系统将会发送ICMP重定向数据包到处于同一网络内的其他系统。它在系统不路由数据包时无任何效果。 
net.inet.ip.ttl:  64 
运行时变量。这是任意非ICMP协议穿过网络时可以通过的最大跳数。
net.inet.ip.sourceroute:  0 
运行时开关。可以通过该项启用含源路由(source-routed)信息的数据包的转发功能。在公网上,源路由通常被认为是一个坏主意。
net.inet.ip.accept_sourceroute:  0 
运行时开关。可以通过该项启用接受源路由数据包。如果你不知道源路由是什么,那么相信我,几乎在所有情况下这都是个相当坏的主意。
net.inet.ip.fastforwarding:  0 
运行时开关。这条sysctl在路由器和网关上大大加速了数据包的吞吐。它是通过略去多数针对数据包的复杂检查并完全地禁用包过滤规则来实现的。
net.inet.ip.check_interface:  0 
运行时开关。该项为你的服务器提供了基本反欺骗(antispoofing)保护。它仅在路由器、网关或者防火墙上比较有用。多数时候,在防火墙级别上就完成了这种保护。
net.inet.icmp.icmplim:  200 
运行时变量。这是系统每秒响应的ICMP请求数。拥有大量ICMP请求的系统(多数是那些运行着诸如Nessus、nmap和Nagios这样的网络安全工具的系统)将需要增加这个值,把它设置成0将禁用所有对ICMP流量的控制(throttling)。
net.inet.icmp.drop_redirect:  0 
运行时开关。该项告诉FreeBSD忽略ICMP重定向数据包。多数时间重定向可提升性能,但是我已经经历了几次边缘案例,那时候选择忽略ICMP重定向是唯一正确的举措。
net.inet.icmp.log_redirect:  0 
运行时开关。如果被设置,FreeBSD会向控制台记录所有ICMP重定向(你不会当真想要利用那时候的控制台来做一些有用的事吧?)
net.inet.icmp.bmcastecho:  0 
运行时开关。可以通过该项决定是否对来自网络上的广播地址的请求作出回应。虽然它有助于发现并解决问题,而且最初由于遵循协议必须启用,但是回应使用广播地址的ping是一个非常严重的安全问题,因此在现代操作系统上都是默认禁用的。
net.inet.tcp.rfc1323:  1 
net.inet.tcp.rfc3042:  1 
net.inet.tcp.rfc3390:  1 
运行时开关。这些启用了在相应RFC中描述的许多TCP扩展,而且它们应该是非常安全的。一旦启用了这几项,当一些非常非常古老的系统在和你的FreeBSD系统通信时会碰到问题。 
net.inet.tcp.sendspace: 32768 
net.inet.tcp.recvspace: 65536 
运行时变量。这两条sysctk给出了默认新TCP/IP连接的初始缓冲区大小。FreeBSD可按远程主机吞吐量要求动态分配这些缓冲区,这里的两个值便提供了一个比较好的修改起点。你会看到很多老掉牙的文档建议你改动这些值,然而今时今日你应该让它们放着。
net.inet.tcp.log_in_vain:  0 
运行时开关。如果启用该项,则所有尝试连接没有程序监听的TCP端口的行为都会被记录。在公网上,这可能会产生一大堆输出。我建议在你的测试系统上面启用它,看看现在在Internet上飞来飞去的都是些啥,然后把它关掉,这样一个能用的控制台又回来了。
net.inet.tcp.blackhole:  0 
运行时开关。默认地,当你尝试连接一个已关闭的端口时,TCP/IP返回一个错误码,并显示为一个"Connection reset by peer"错误。如果你把这项设置为1,系统将直接丢弃意图连接关闭端口的数据包而不返回错误。这样可以减缓端口扫描的速度,还能给你的服务器加点表明上的安全性。但是,它终究不是包过滤防火墙的代替品!
net.inet.tcp.delayed_ack:  1 
运行时开关。这项告诉FreeBSD尝试在数据包内包含TCP ACK信息,而不是在一次连接的结尾发送额外的数据包。
net.inet.tcp.recvbuf_auto:  1 
运行时开关。该项启用了接收缓冲区的自动大小调整。
net.inet.tcp.recvbuf_inc:  16384 
运行时变量。这是接收缓冲区的自动调整的增量。
net.inet.tcp.recvbuf_max: 262144 
运行时变量。系统上任一接收缓冲区的最大尺寸。
net.inet.tcp.slowstart_flightsize:  1 
运行时变量。这里指定了在广域网内FreeBSD避免TCP拥塞而采用慢启动(slow-start)期间将发送的数据包数量。
net.inet.tcp.local_slowstart_flightsize:  4 
运行时变量。这里指定了在局域网内FreeBSD避免TCP拥塞而采用慢启动期间将发送的数据包数量。
net.inet.tcp.newreno:  1 
运行时开关。该项启用RFC2582连接恢复,也称TCP NewReno算法。 
net.inet.tcp.tso:  1 
运行时开关。一些硬件可以处理"把网络请求分成合适大小的数据包"这样的任务。例如,你有一张这样的网卡,FreeBSD便可以把一堆数据交给它,让它把数据分解为包。这样可以起到优化数据通信、减少CPU工作量的作用。你可以在这里告诉FreeBSD,当硬件支持这项特性时,就使用它。
net.inet.tcp.sendbuf_auto:  1 
运行时开关。这项启用TCP发送缓冲区自动大小调整。
net.inet.tcp.sendbuf_inc:  8192 
运行时变量。这里给出了需要改变TCP发送缓冲区大小时,增加或减少的量。
net.inet.tcp.sendbuf_max:  262144 
运行时变量。单一TCP发送缓冲区的最大尺寸。 
net.inet.tcp.sack.enable: 1 
运行时开关。FreeBSD 默认使用有选择的ACK,但在一些较老的主机上,这项功能偶尔会引发问题。 
net.inet.tcp.do_tcpdrain:  1 
运行时开关。这里告诉FreeBSD当mbufs短缺时从重装配队列中清洗数据包。 既然FreeBSD能够从内核内存中自动分配mbufs,现在的它已经变得不那么有用了。
net.inet.tcp.always_keepalive:  1 
运行时开关。默认地,FreeBSD检查所有TCP连接以判断它是否仍旧处于活跃状态。正常情况下,如果一个两台主机之间的连接断了,这些个keepalive告诉各自的系统把该连接关闭。如果你禁用这个行为,FreeBSD不会检查连接的的状态,而且,它还会假设连接处于活跃状态,直到它不能再传送数据为止。 
net.inet.udp.log_in_vain:  0 
运行时开关。启用这项意味着所有尝试连接没有程序监听的UDP端口的行为都会被记录。
net.inet.udp.blackhole:  0 
运行时开关。和TCP类似,当你尝试连接一个没有程序监听的端口时,UDP发送一条错误信息。如果你把这项设置为1,系统将直接丢弃意图连接关闭端口的数据包而不返回错误。这将减缓端口扫描速度。 
net.link.log_link_state_change:  1 
运行时开关。如果启用,FreeBSD将记录每次网络接口状态的改变(up/down)。 
debug.debugger_on_panic:  1 
运行时开关。如果被设置,FreeBSD将在panic时进入调试器。 
debug.trace_on_panic:  0 
运行时开关。如果被设置,FreeBSD在因panic进入调试器后自动打印堆栈跟踪(stack trace)情况。
debug.witness.watch:  1 
运行时变量, 启动时可调整。当 WITNESS 被编译进内核时,FreeBSD将对所有内核锁进行额外的复杂检查。把这里设置为0禁用这些检查。一旦你关闭了WITNESS,你就不能在不重启的情况下再次开启它。注意你禁用了 WITNESS以后你就不能享受它带来的好处,尤其是,如果你的系统在重负载下因上锁问题panic了,你就得不到可以告知FreeBSD开发人员从哪里入手盘查问题的有关锁的消息。
debug.witness.skipspin:  1 
启动时开关。这里告诉WITNESS不要对自旋锁进行任何检查。用WITNESS来检查自旋锁能使任何机器变得无法接受地慢。跳过自旋锁,但是其他情况下你都应该使用WITNESS,这仅会让你的机器变慢而不是变得无法接受地慢。 此sysctl就相当于WITNESS_SKIPSPIN这个内核选项。 
debug.minidump:  1 
运行时开关,启动时可调整。默认地,FreeBSD在panic时仅转储内核内存
将这里设置为0在panic时系统将转储全部物理内存的内容。
hw.ata.ata_dma:  1 
启动时开关。这项在IDE设备中启用DMA。如果你的硬件使用PIO而非DMA,那么设置为0。如果你的硬件够老,老到需要PIO,你很可能知道这个事情。
hw.ata.atapi_dma:  1 
启动时开关。这项在ATAPI设备中启用DMA。如果你的硬件使用PIO而非DMA或者你的硬件上的DMA实现很烂,那么设置为0。再次说明,如果你的硬件够老,老到需要PIO,你很可能知道这个事情。
hw.ata.wc:  1 
启动时开关。该项启用了被一些硬件支持的IDE写入缓存。写入缓存使用一个位于磁盘上的小型缓冲区来缓存向磁盘的写入操作,以牺牲可靠性来提升性能。把它设置为0以禁用写入缓存并增强数据的安全性。See Chapter 8. 
hw.syscons.kbd_reboot:  1 
运行时开关。该项启用时,老式的CTRL-ALT-DELETE组合键可以重启系统。把这里设置为0可以禁用上述行为。 
compat.linux.osrelease:  2.4.2 
运行时变量。这里定义了Linux兼容模式支持的Linux版本,当这个sysctl更改时,一些Linux程序会有不同的表现。虽然你可以随时更改这个值,但是如果有Linux程序正在运行,修改的结果就是系统的panic。最好让Linux模式下的软件代替你来做修改工作。 
security.jail.set_hostname_allowed:  1 
运行时变量。该项指定Jail管理员们是否可以修改所管理的Jail的主机名。See Chapter 9。 
security.jail.socket_unixiproute_only:  1 
运行时变量。该项控制了Jail的所有者是否可以使用TCP/IP以外的协议。See Chapter 9. 
security.jail.sysvipc_allowed:  0 
运行时变量。该项决定了Jail的所有者是否可以使用System V IPC 调用。 See Chapter 9. 
security.jail.enforce_statfs:  2 
运行时变量。当设置为0时,Jail内的用户可以看见系统上包括Jail内外的所有磁盘挂载点和分区,当设置为1时,只有Jail根目录以下的挂载点可见,当设置为2时,只有Jail的根目录挂载点可见。 
security.jail.allow_raw_sockets:  0 
运行时变量。当设置时,Jail中的root可以创建原始套接字(raw sockets)。 See Chapter 9. 
security.jail.chflags_allowed:  0 
运行时开关。该Jail的管理员是否可以使用chflags(1). See Chapter 9. 
security.jail.list:  
只读。这里列出了系统上所有活动的Jail。FreeBSD会根据你对Jail执行的启动或停止操作来修改这里列出的项,但你不可以通过使用sysctl(8)修改这个sysctl来达到启用新Jail的目的。See Chapter 9. 
security.jail.jailed:  0 
只读。如果被设置为1,那么当前查询该sysctl值的程序正运行于一个Jail内。See Chapter 9.
security.bsd.see_other_uids:  1 
运行时开关。默认地,一个用户可以通过ps(1)或者相关工具查看属于其他用户的进程。将这里设置为0禁用此特性。
security.bsd.see_other_gids:  1 
运行时开关。默认地,一个用户可以通过ps(1)或者相关工具查看属于其他用户组的进程。将这里设置为0禁用此特性。 security.bsd.unprivileged_read_msgbuf:  1 
运行时开关。默认地,非特权用户可以通过dmesg(8)读取系统消息缓冲区,包括在Jail中的用户。将这里设置为0禁用此特性,通常在一个提供Jail服务的系统上面尤其好用。
security.bsd.hardlink_check_uid:  0 
运行时开关。默认地,用户可以创建到任何文件的硬连接──请参考ln(1)。如果设置为1,用户将不能创建到其他用户的文件的硬连接。
security.bsd.hardlink_check_gid:  0 
运行时开关。默认地,用户可以创建属于任意用户组的文件的硬连接。如果这里设置为1, 用户仅可以为同属一个用户组的文件创建硬连接。
security.bsd.overworked_admin:  3.1415925 
只读。如果你确确实实从头到尾地阅读了这篇附录,那么很显然,你太用功了。放下这本书,到外面去走走,呼吸呼吸新鲜空气,放松1─2小时。你会觉得更加轻松愉快。如果你认为这是条真实的sysctl MIB,那么,远离工作岗位,保持离线状态,至少两天。

-------------------------  上面是正文 -------------------------

-SHL- (I will always be a FreeBSD enthusiast.)

2008-06-14 Sat

21:47 如何捍卫你的咖啡习惯 » Fenng's shared items in Google Reader
09:07 iBook G4 和 Nokia n72 被盗 » Fenng's shared items in Google Reader
08:17 柏林禅寺生活禅夏令营活动 (豆瓣 杭州书虫小组) » Fenng's shared items in Google Reader
07:48 原创与伪原创 » Fenng's shared items in Google Reader
07:10 软件测试新书推荐 » Ricky's Test Blog
07:01 Oracle安装报错syntax error » yangtingkun
06:23 找回126邮箱的密码 » AnySQL.net
04:51 Debugger dangers » Tanel Poder's blog: Core IT for geeks and pros
03:56 怎样才算 PHP 入门? » Fenng's shared items in Google Reader

2008-06-13 Fri

19:31 Solaris下安装Oracle817 » yangtingkun
12:31 作技术,什么都可能发生 » OracleDBA Blog---请享受无法回避的痛苦!
12:08 为什么不走hash join? » OracleBlog.cn
10:01 Recent SQL » Oracle Scratchpad
09:43 Log Buffer #101: a Carnival of the Vanities for DBAs » Pythian Group Blog » Log Buffer
05:57 eBay To Delay PayPal Only Move » Fenng's shared items in Google Reader