delphij's Chaos

基于 Supermicro X7SPA-H (Atom D510) 的路由器(2)

Development

续前。

除了硬件上直接采用的降噪措施之外,一些软件方面的配置也可以提高其效果。

首先是BIOS中的配置。风扇转速最低可调整为"Energy Saving"(即使用30%的频率)。启用Active Power State之后,可节省大约2W左右的耗电(这个选项的默认值是Disabled)。

然后是FreeBSD本身的配置。我个人采用的配置包括:

  • 禁用硬盘的APM。WD的这款硬盘默认的APM值为128,这样它每隔大约10秒没有操作时就会将磁盘转速降低。这类操作对磁盘的寿命有一定影响(一般来说磁盘的机械部分支持10万到20万次这样的操作),因此可将其设为254;
  • 启用磁盘的AAM。这个配置的好处是让磁盘控制其磁头臂的加速度,其效果是减少噪音,并且有一定的节能效果。注意:实际测试显示这个设置产生的节能效果基本上可以忽略不计,并且会稍微降低一些性能。磁盘的AAM数值设置为128(默认为254);
  • 将经常写的日志放到 /tmp (使用tmpfs);
  • 将收集entropy(随机数种子)的频率由每11分钟一次降低到每天一次;
  • 启用 AHCI 磁盘驱动;将ahci通道的pm_level全部设置为5(设备在闲置125ms之后可申请通道链路进入SLUMBER模式)
  • 禁用APIC时钟。
  • 禁用AT RTC时钟。
  • 对于没有驱动的PCI设备,将其置入D3模式(停电)。

上述设置,除了ahci部分之外,可将系统闲置时的功耗降低到17W左右。

以下是实现中采用的loader.conf相关的部分:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

hint.apic.0.clock=0
hint.atrtc.0.clock=0
hw.pci.do_power_nodriver=3
hint.ahcich.0.pm_level=5
hint.ahcich.1.pm_level=5
hint.ahcich.2.pm_level=5
hint.ahcich.3.pm_level=5
hint.ahcich.4.pm_level=5
hint.ahcich.5.pm_level=5
阅读全文… ( 本文约 4499 字,阅读大致需要 9 分钟 )

FreeBSD的textdump

Kernel, Development

最近遇到一些奇怪的bug,因为是对恢复时间有比较高要求的系统,所以顺便研究了一下用FreeBSD的textdump来代替更早前出现的minidump的方法。

阅读全文… ( 本文约 754 字,阅读大致需要 2 分钟 )

基于 Supermicro X7SPA-H (Atom D510) 的路由器(1)

Life

最近找时间做了一个家用的路由器。用基于 Intel Atom 处理器的解决方案并不便宜(与传统的嵌入式解决方案相比),但因为软硬件都是 x86,因此开发起来会方便一些。另一方面,Atom的计算性能要远高于其他的传统嵌入式方案。

阅读全文… ( 本文约 585 字,阅读大致需要 2 分钟 )

RTC 与 NTP

Kernel

早期版本的 FreeBSD 有一个问题是,如果使用 ntpd 来校准系统时钟的话,如果长期开机,则在重启之后,时间会差很远,之前一直没仔细研究这个问题。最近突然发现 FreeBSD 8.1-RELEASE 里面没有这个问题了,于是翻看了一下代码和之前的一些邮件才明白是怎么回事,总结一下:

阅读全文… ( 本文约 762 字,阅读大致需要 2 分钟 )

FreeBSD上的{rd,wr}msr_safe

Kernel

这几天改 FreeBSDcoretemp(4) 遇到了一个问题。直接使用 rdmsr 的话,如果那个 MSR 不存在,则会触发 #GP(0),不了解 CPU 型号的情况下直接去杵肯定是不行的。后来翻了一下 cpuctl(4) 的代码发现 FreeBSD 上也有 rdmsr_safe。它的实现并不复杂( sys/amd64/amd64/support.S):

阅读全文… ( 本文约 364 字,阅读大致需要 1 分钟 )

Intel CPU的Tj(max)的获得

Hardware

本文主要是笔记,不保证其正确性,也不保证其不导致死机、崩溃或任何其他问题。


CPU的Tj(max)值可以通过读 MSR IA32_TEMPERATURE_TARGET,即 0x1a2 来获得【1】。目前,Intel正式的开发文档中并没有明确对这一MSR进行说明。早期的CPU中,Tj(max)值需要加上40到50摄氏度,目前不清楚具体哪些CPU必须如此,但从公开文档来看,已知:

阅读全文… ( 本文约 1407 字,阅读大致需要 3 分钟 )

汽车大王亨利福特的名言

Shared Chaos

“如果我当年去问顾客他们想要什么,他们肯定会告诉我:‘一匹更快的马。’” 这告诉我们:顾客的意见虽然重要,但是只问用户的意见是做不出突破性的新产品的。

参与评论

nginx中的TLS/SSL配置

Security

nginx可以作为很多种不同的用途。对Web服务器来说,nginx可以直接用作https服务器,也可以用于为现有的http Web服务器作为前端代理和负载平衡的同时提供https之用。

阅读全文… ( 本文约 1201 字,阅读大致需要 3 分钟 )