第17章  The FreeBSD Funnies

17.1. How cool is FreeBSD?
17.2. Who is scratching in my memory banks??
17.3. 要几个 FreeBSD hacker 才能换掉一个电灯泡?
17.4. Where does data written to /dev/null go?

17.1. How cool is FreeBSD?

Q. Has anyone done any temperature testing while running FreeBSD? I know Linux® runs cooler than DOS, but have never seen a mention of FreeBSD. It seems to run really hot.

A. No, but we have done numerous taste tests on blindfolded volunteers who have also had 250 micrograms of LSD-25 administered beforehand. 35% of the volunteers said that FreeBSD tasted sort of orange, whereas Linux tasted like purple haze. Neither group mentioned any significant variances in temperature. We eventually had to throw the results of this survey out entirely anyway when we found that too many volunteers were wandering out of the room during the tests, thus skewing the results. We think most of the volunteers are at Apple now, working on their new “scratch and sniff” GUI. It is a funny old business we are in!

Seriously, both FreeBSD and Linux use the HLT (halt) instruction when the system is idle thus lowering its energy consumption and therefore the heat it generates. Also if you have APM (advanced power management) configured, then FreeBSD can also put the CPU into a low power mode.

17.2. Who is scratching in my memory banks??

Q. Is there anything “odd” that FreeBSD does when compiling the kernel which would cause the memory to make a scratchy sound? When compiling (and for a brief moment after recognizing the floppy drive upon startup, as well), a strange scratchy sound emanates from what appears to be the memory banks.

A. Yes! You will see frequent references to “daemons” in the BSD documentation, and what most people do not know is that this refers to genuine, non-corporeal entities that now possess your computer. The scratchy sound coming from your memory is actually high-pitched whispering exchanged among the daemons as they best decide how to deal with various system administration tasks.

If the noise gets to you, a good fdisk /mbr from DOS will get rid of them, but do not be surprised if they react adversely and try to stop you. In fact, if at any point during the exercise you hear the satanic voice of Bill Gates coming from the built-in speaker, take off running and do not ever look back! Freed from the counterbalancing influence of the BSD daemons, the twin demons of DOS and Windows® are often able to re-assert total control over your machine to the eternal damnation of your soul. Now that you know, given a choice you would probably prefer to get used to the scratchy noises, no?

17.3. 要几个 FreeBSD hacker 才能换掉一个电灯泡?

一千一百六十九个:

二十三个在 -current 上抱怨看不到光了;

四个宣称这是设定上的问题,所以像这样的 email 应该放在 -questions;

三个 submit PR,其中一个送错到 doc 下,并且内容只有 “这里好暗”;

一个 commit 尚未测试的电灯泡, 造成不能 buildworld, 五分钟后他把原来的灯泡换回来;

八个煽起 flame war,责怪送出 PR 的人没有包括 patch;

五个埋怨 buildworld 烂掉了;

三十一个说 buildworld 可以用, 不能用的人一定是 cvsup 的时机不对;

一个把换成新灯泡的 patch 丢到 -hackers 上;

一个说他三年前就做出了 patch,但送到 -current 后却被忽略掉, 所以他对整个 PR 系统有很不好的印象。 此外, 他也认为拿出的新灯泡无法反光;

三十七个咆哮说电灯泡不属于基本系统的一部份, 所以 committer 不能不先咨询整个 Community 的意见就这样做下去。 还有, 在这件事情上 -core 到底在等什么?!

两百人抱怨换灯泡之后,脚踏车棚的颜色变得好奇怪;

三个指出,用来换灯泡的 patch 不符合 style(9) 的规定;

十七个埋怨拿出来的新灯泡为什么是用 GPL;

五百八十六人陷入一场 flame war 在 GPL、BSD、MIT、NPL 各个 license 以及 FSF 某位不具名创办人士个人卫生之间, 比较彼此的优势;

七个将这一串讨论的不同部份分别移到 -chat 和 -advocacy;

就算提出的新灯泡比旧的暗,还是有一个把它 commit 进来;

两个换回原先的灯泡, 并且留下极为愤怒的 commit 讯息。 他们认为 与其让 FreeBSD 用暗灯泡,还不如干脆待在黑暗中算了;

四十六人对取消不用暗灯泡这件事大声疾呼, 要求 -core 立刻作出裁决;

十一个要求换成小一点的电灯泡, 以便未来 FreeBSD 如果移植到 电子鸡(Tamagotchi) 上后会更为方便;

七十三人抱怨 -hackers 和 -chat 上的 SNR, 藉 unsubscribe 来表示抗议;

十三个送出 “unsubscribe”、 “我要如何 unsubscribe?” 或 “拜托把我从 list 名单中删掉”, 信的最后面则是一般由 majordomo 加上去的 footer;

当每个人忙于彼此叫骂时, 有个家伙趁没人注意, 把可以用的灯泡偷偷换上去;

三十一个指出, 如果用 TenDRA 编译新的灯泡, 会比旧的来得亮 0.364% (虽然需要首先把灯泡改造为正六面体形状), 所以 FreeBSD 内定的编译器应该是 TenDRA, 而不是 GCC;

有个人说新灯泡缺乏美感;

九个人 (包括原先送 PR 的人) 问 “MFC 是什么?”;

五十七个抱怨自从换了灯泡后, 两个星期都没有光出现。

Nik Clayton 补注:

刚看到时, 我快笑翻了。

然后想到, “等一下, 不是应该还有 ‘一个要把这些记下来’ 的人吗?”

接着终于了解我的使命 :-)

17.4. Where does data written to /dev/null go?

It goes into a special data sink in the CPU where it is converted to heat which is vented through the heatsink / fan assembly. This is why CPU cooling is increasingly important; as people get used to faster processors, they become careless with their data and more and more of it ends up in /dev/null, overheating their CPUs. If you delete /dev/null (which effectively disables the CPU data sink) your CPU may run cooler but your system will quickly become constipated with all that excess data and start to behave erratically. If you have a fast network connection you can cool down your CPU by reading data out of /dev/random and sending it off somewhere; however you run the risk of overheating your network connection and / or angering your ISP, as most of the data will end up getting converted to heat by their equipment, but they generally have good cooling, so if you do not overdo it you should be OK.

Paul Robinson adds:

There are other methods. As every good sysadmin knows, it is part of standard practice to send data to the screen of interesting variety to keep all the pixies that make up your picture happy. Screen pixies (commonly mis-typed or re-named as “pixels”) are categorized by the type of hat they wear (red, green or blue) and will hide or appear (thereby showing the color of their hat) whenever they receive a little piece of food. Video cards turn data into pixie-food, and then send them to the pixies ── the more expensive the card, the better the food, so the better behaved the pixies are. They also need constant stimulation ── this is why screen savers exist.

To take your suggestions further, you could just throw the random data to console, thereby letting the pixies consume it. This causes no heat to be produced at all, keeps the pixies happy and gets rid of your data quite quickly, even if it does make things look a bit messy on your screen.

Incidentally, as an ex-admin of a large ISP who experienced many problems attempting to maintain a stable temperature in a server room, I would strongly discourage people sending the data they do not want out to the network. The fairies who do the packet switching and routing get annoyed by it as well.

本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.