在 FreeBSD 上省電
這裡的內容幾乎都是參考這篇:HOWTO: FreeBSD CPU Scaling and Power Saving。
今天剛好在伺服器上啟動 powerd,因為有些像 dns、backup 幾乎都是閒置中,所以這樣應該比較省電。
現在的 CPU 都比以往強很多,因此系統常常處於閒置的狀態。想當年,只有一台 Pentium III 800 MHz 的筆電可以用。如今都是 Core 2 Duo、Core 2 Quad,甚至 Core i7 這些處理器。這些 clock speed 通常都在 2~3 GHz 之間。要注意的是不同系列不能直接拿 clock speed 來比速度,如一個 Core 2 Duo 2.66 GHz 比 Pentium 4 3.0 GHz 的處理器快多了。
閒置的時候,通常會降低頻率達到省電的目的,也會有 C-states 可以控制 CPU。簡單來說 C0 是使用中,C1 以下則會停止某些不需要的功能。不過從 C2、C3、C4 等狀態跳到 C0 所花的時間比較久一點。
這裡有一些關於 C-states 的資料:
C-states, C-states and even more C-states
There’s got to be a catch
CPU Power States (C-States)
FreeBSD 裡,只要將 powerd_enable="YES" 加入 /etc/rc.conf 即可啟動 powerd。其他額外的參數可以用 powerd_flags 設定。如:powerd_flags="-a hadp -b adp"。
Maximum、minimum、adaptive 與 hiadaptive 的縮寫分別是 max、min、adp 與 hadp。Maximum 會有最好的效能、minimum 效能最差但省最多電,至於 adaptive 和 hiadaptive 會隨著 CPU 使用率調整。差別是 hiadaptive 比 adaptive 注重效能。
要注意的是 max、min、adp、hadp 這些縮寫在 7.1-RELEASE 才出現,且 hiadaptive 也是在 7.2-RELEASE 才出現。Manual 裡有更多關於 powerd 的參數。
用筆電可能使用 adaptive 模式比較省電,不過桌上型電腦可能會感覺到反應比較慢一點,所以我個人是用 hiadaptive。不過也有另一個選擇,用 sysctl 調整 CPU 的最低頻率。如 $ sysctl debug.cpufreq.lowest=1200 就設定最低頻率為 1200 MHz。這裡有個 patch 可以設定 CPU 的最高頻率,不過我沒試過。若要每次開機都自動設定的話,可以將 debug.cpufreq.lowest=1200 加入 /etc/sysctl.conf
$ sysctl -a | grep dev.cpu...cx_supported 可以查看 CPU 支援的 C-states,然後用 $ sysctl dev.cpu.0.cx_lowest=C1 設定最低的 C-state,這裡是設定 C1。若有兩顆以上,可以設定一個 C1、一個 C2,這樣反應速度比較快,其中一個也比較省電,不過我的電腦指支援 C1,沒辦法測試。
編譯 OpenOffice.org
從灌 GNOME 以來,一直沒有用 ports 更新的就是 editors/openoffice.org-2。原因很明顯:這個 port 實在太巨大了。
最近因為想換成 editors/openoffice.org-3,而 mirror 上面都沒有 package,所以被迫用 ports 安裝。
事前當然有在網路上先問一下大概會多久。得到的回覆是:Core 2 Duo 的處理器花了 4 小時,而 Pentium 4 3.0 Ghz 的處理器則花了 12 個小時。我家電腦是 Pentium D 945 3.4 Ghz。雖然沒 Core 2 Duo、Core 2 Quad、Core i7 那麼威,但比 Pentium 4 好一點。
今天早上 8:37 就開始了。根據 ports 的資訊,最基本需求是 11 GB 的空間和 2 GB 的 RAM。RAM 足夠,但硬碟空間沒理他。之後,編了兩、三個小時左右,忽然發現 work/ 實在太恐怖了。再下去 /usr 的空間鐵定不足。原本可以用 symlink 來使用 /home 的空間,但編到一半了,不想從頭,唯一的辦法是開始對 /usr 做清理。首先砍掉 /usr/src/,釋出大約 500 MB。接下來殺掉 editors/openoffice.org-2。這樣空間沒多多少,只好繼續尋找。看到 /usr/ports/distfiles/ 有 2.2 GB 就趕快將他 rsync 到 /home 底下,然後砍掉他。
接下來其實就是漫長的等待了,不過中間有發現電腦外殼超燙。幾個小時下來搞不好真的會燒壞,因為除了基本的 CPU 風扇、系統風扇,沒有其他的冷卻裝置。只好拿旁邊的電風扇吹主機…
電腦經過 9 個小時的奮戰後終於編完了。中間有拍 htop、top 的畫面。
結束後,看了 work/,爆增到 8.9 GB。過程中 RAM 看起來也沒有用多少,感覺 1 GB 應該綽綽有餘。我的心得:editors/openoffice.org-3 最好晚上裝,這樣早上起床一切都弄好了。
其實編譯過程中,十分耗系統資源。開 Firefox 幾乎不能動,但 Opera 卻好多了。雖然比較小,但功能齊全。話雖如此,但主要瀏覽器不太可能換成 Opera,太習慣 Firefox 了。從國小用到現在。昨天才剛將 Google Page Speed 裝好,今天 YSlow 又釋出新版本。看起來支援 Firefox 3.5,但還沒試。
上一次編巨大的 port 是 lang/gcc44。還留有 Munin 的紀錄,CPU 使用率衝最高的那段就是了。
Firefox 3.5
Mozilla Firefox 3.5 自從 7 月 1 日更新完到現在已經用了一星期了。整體而言,介面並沒有太大的改變,但感覺好很多。
官方網站上有標示 SunSpider JavaScript Benchmark 的解果。JavaScript 明顯比 前面的版本快許多。原因是這次多了 SpiderMonkey 這個 JavaScript engine。網路上有看到一些人寫 Gmail 等網站確實有變快,不過我沒留意。
另一個新的功能是 HTML 5 的支援。多了一些像 footer、audio 和 video 的標籤。HTML 5 裡 center、font(等 font 等很久了,IE 害人不淺)也消失了。CSS 3 的支援也比較齊全了。不過 HTML 5 和 CSS 3 都還沒正式釋出。目前 CSS 支援最差的應該還是 IE(至少 IE 6 是這樣,IE 7 以後我就沒再用了)。
這次的 Extensions 幾乎都沒有問題,升級後仍然可以使用。之前從 Firefox 1 升級到 Firefox 3 和 Firefox 2 升級到 Firefox 3 的時候卻有一大堆無法使用,等了一段時間後才全部支援。目前主要是 YSlow 無法使用,已跳槽到 Google Page Speed。
這次最明顯的改變應該是 Plurk 在 FreeBSD 上變得超順。以前捲軸會一直 lag,現在不會了。
昨天用 Firefox 時,居然沒辦法用 Java。之前 Firefox 3 有裝過,但升級後消失了。最後找來找去找到 /usr/local/lib/firefox3/plugins/。把 libjavaplugin_oji.so symlink 進去就好了。
Flash 也莫名其妙的變順,之前在 YouTube 上看影片,只要碰到時間軸就當了。我是有將 /etc/make.conf 裡的 OVERRIDE_LINUX_BASE_PORT=f10 註解掉,換回預設的 emulators/linux_base-fc4。應該是這個原因。
說道瀏覽器,Opera 也是個不錯的選擇。功能完整,且很小。適合重編 kernel 和 world 的時候使用。每次更新電腦會當半天。印象中 xbddc 學長是用 Opera。
最近家裡和學校電腦 FreeBSD 上也大動干戈,從 ports-mgmt/portupgrade 換成 ports-mgmt/portmaster。主要原因是聽說 portmaster 比較快,還有不必安裝 Ruby。但事實上 portupgrade 也有一些優點,因為會使用快取,某些時候比較快,而 portmaster 則不需要任何額外的 ports,安裝快許多。
QEMU 和 VirtualBox 都裝了。VirtualBox 已經灌了 FreeBSD(用來試 ZFS)和 Untangle,QEMU 則還沒動過。改天來試一下 Windows。
昨天和 Alex 談起電腦時,發覺變化速度真十分快速。現在不斷的推陳出新,且間隔不斷縮小。不久前 PHP 5.3.0 也剛出來。
上午去天瓏書局看書,下午有去了一次。暑假來好好研究一下資訊這一科。
班遊
這次班遊去打漆彈,好貴啊。時間一下子就過去,打完第二場已經 12:30 了。等到烤肉烤完都三點多了。
沒想到一年這麼快就過去了,轉眼間就要選類組,重新編班。我還記得去年考完第一次基測後,等待畢業典禮、暑假的那段時間,好像才不久之前。
現在已經知道會有兩班是三類,一班二類。一開始沒想到人數差距會這麼大,雖然會有一些假三類。高二以後課程會有所改變,沒了生物、地科,多了物理、化學、自修各一節。
其實分班了,也是三班裡面重洗,所以不會有太大的改變。
網管交接茶會
今天終於辦完交接茶會,累翻了。
其實這次辦在暑假比較有時間準備,若在段考前辦,大概會影響到成績,而且時間也會不足。名片、社服總算有趕出來。活動到了前一天才想好(完 hangman 和殺手遊戲)。Hangman 實在有點﹍不過沒辦法,想不到其他遊戲。這次還有有雄女資訊的來耶。
我們這幾屆有點可憐,人數很少,下屆希望能招到更多人。暑假要和友社籌劃聯合迎新。不過說道活動,我真的不太適合辦。偏技術性方面的倒比較好一點(至少 FreeBSD 沒問題)。這次交接學長姊還組了一台新的電腦。
之後有去吃飯,不過實在太餓了,回家又吃一頓。明天要班遊,好累啊。才剛放暑假就忙成這樣。改天又要去書局、學校又有事情要處理(網路將要換成接臺大,速度 100M)。
這年來,在社團確實學到不少(雖然有一大半是自修的)。一個 FreeBSD 或 Linux 的使用者對電腦真的會有更大的彈性,也會有更多的瞭解。這方面自己體驗過後才會知道。說實話,FreeBSD、Linux 沒有想像中難,只不過是一開始不熟悉他罷了。況且他的資源、文件都比 Windows 豐富多了。像我家電腦也改成 FreeBSD(還是有留 dual boot,因為家人要用 Windows)。
未來呢?其實我很希望自由軟體在臺灣會更受歡迎。畢竟,比起 Windows 有許多優點,而且免費。最大的障礙是有許多人已經熟悉了 Windows,可能不太願意換。
另一個原因是當初 Linux 的設計者是個工程師(這根本是廢話),後來使用者大多也是對電腦比較瞭解的人。因此,對一般使用者來說,可能不是那麼好用。但這現已經改過來了,即使使用者是不瞭解電腦的人,看完說明文件之後應該就很清楚了。
為高一生涯劃下句點
原本升了高中以後就有心理準備會很忙,但實在沒想到時間會過得這麼快。一年的時光又過去了,學期也近尾聲了。
最近實很忙(現在好像不管什麼時候都很忙),要準備期末考、社團交接。這次我比較擔心的科目是國文、數學、物理、化學。今天考完了(雖然明天還剩體育),國文學期總成績應該及格了。數學分數倒讓我滿驚訝,比預期的還高。至於物理﹍希望不會被當。
現在電腦有點當(正在編譯 MySQL)。剛剛好了,等一下換更新 Java。
這學年其實還滿充實的,學了不少事。不過物理這種上法讓我有點擔心,因為我比較適合按部就班。寒假的時後數學、資訊並沒看很多,畢竟時間有點短。這次暑假可以好好利用了。
我覺得很幸運,學校沒有安排暑假輔導(據說南一中要上半個暑假)。難得有這麼長的時間可以運用,大概是高中畢業前最後一次有這樣的機會了(同時也是第一次)。Java 更新完了。
這一年來社團也學到不少,特別是作業系統、網路這方面。以前國小、國中 Windows 用得很熟,現在發現 Unix、FreeBSD、Linux 都有各自的特色,可以說是別有天地。對於一個 Windows 的使用者而言,大概永遠無法瞭解作業系統整個運作方式。原因是 FreeBSD 可以重編 kernel 和 world,系統設定檔讓你隨便改。
說優點當然有,但缺點也是有的。現在用 FreeBSD 最麻煩的地方也是最大的優勢就是用原始碼編譯。雖然這樣有很大的彈性,但相對的,很耗時間(特別是像 lang/gcc44 和 editors/openoffice.org-3 這種巨大的 port)。重灌也很累,所以暑假打算將 Subversion repository 建好,以後就自動化了。
升上高二,三班又要重編了。現在大概已經知道會編到哪班了。暑假雖然有兩個月,但應該轉眼間就過完了。時間有限,得好好利用。
說道這個,國中同學會還沒問要不要辦。改天有空再寄信問問看。
昨天學校網路掛了一整天,害我都連不上。從 Munin 可以明顯看出有個地方跌到谷底:
現在出了一堆新的東西,可以試 emulators/virtualbox 和 emulators/qemu。今天放學忘了去借 Windows XP 的光碟來試。暑假順便試 KDE,看是 KDE 或 GNOME 比較和我胃口。
現在來更新 Firefox,並且看完 Building a Safer Web。
科學班與語文科學班
最近幾週(也有可能是最近幾個月)聽說附中下一屆將會有科學班。說實話,我真的不太明白為什麼又多出這個班來了。現在既然都有資優班,科學班有必要成立嗎?若是為了改進資優班的種種缺點,沒有必要換新的名稱。就算換名稱,原有的資優班應該會廢掉才對。
我知道資優班與科學班主旨不太一樣,但有個問題我一直無法想通:這些設立科學班的
學校要去哪裡找學生?我並不是只沒有人會來報名,以致人數太少而無法開班,而是同時有資優班與科學班,哪有這麼多資優的學生?最後的結果很有可能是素質不是很好,各至集中在頭尾。
下面四段是新加進來的。原本想打,但一開始不確定聽到的消息是否正確,所以先省略掉了。
之前聽幾位老師說「語文科學班」不但要重視數理,還要兼顧英文。其實首次聽到時不怎麼訝異,畢竟不少人是理科和文科都很突出。不過,之後又聽說語文科學班有些課程要用英文上課(如:數學之類,但還不確定是否如此)。若真的是如此的話我覺得,這個計畫將會徹底失敗。
我國小、國中都曾經在雙語班中。雖然名稱有「雙語」,但實際上是重視英文,國文有時候一蹋糊塗。班上雖然有一些英文能力十分優異的同學。國中的時候,大概全臺灣能找到班級能與我們並駕齊驅。但同時會發現有一個現象:英文強的很強,但後面的有些可能連普通班平均水準都不到,形成一個極端的現象。
若語文科學班主科用英文上,第一個問題是師資。目前應該很難找到有辦法全程用英文上數學、物理、化學的老師。第二個問題是很難找應該說是幾乎不可能找到到有能力用原文書上課的學生。我敢肯定的說,若他們真的是要用英文上數學、物理、化學,最後老師都用中文講課,學生抱著翻譯苦讀。
不過若只是額外增加堂數,加強寫作、文法之類,我覺得這個應該行得通。畢竟這只要由英文老師來上課就好了。
期末考轉眼又至。
磁碟使用率破百
之前在用 Munin 監控伺服器的時候,常看到 Filesystem usage 破百,一直很納悶為何會如此。直到不久之前才看到 FreeBSD 會預留 8% 的空間給作業系統與 root 使用 才知道原因。
遠離 Office 程式
映像中自從國小畢業後幾乎沒在用 Microsoft Excel、PowerPoint。Word 則要打作業,比較常開。說實話,我似乎沒有認真用 PowerPoint 作過簡報,所以不知道這次會花這麼多時間。
這次準備了 FreeBSD Ports,不過內容沒有寫很多。Slideshow 使用字體比較大,也塞不了那麼多。若每個安裝的 port 都詳細介紹,不知道要幾天才講得完。理論上應該沒有忽略應該提得,但 ports-mgmt/portmaster 與 ports/portconf 還不會用,所以先空著,以後再補齊。現在真的覺得 portupgrade 很麻煩,需要裝一堆 Ruby 的東西。內容放了不少,很有可能講不完。
這次也因緣際會的使用了 Google Docs。不論在學校或家裡編輯都很方便,不用再上傳到網路上。雖然功能當然沒有 Microsoft PowerPoint 或 OpenOffice.org Impress 完整,但個人覺得還不錯。希望以後 theme 能提供更多選擇。
FreeBSD Ports 基礎篇:http://docs.google.com/Present?docid=df5vc9xw_5pjzgnmnq&skipauth=true
其他格式:http://cnmc32.hs.ntnu.edu.tw/~dennylin93/FreeBSD/
今天 FreeBSD 居然連發了三個 Security Advisory,首次看見。
M$ Windows 即將被淘汰!
自從高一上就從心開始碰 Linux 和 BSD。我還記得國二時慘痛的經驗:在老舊的筆記型電腦裝上 Fedora Core 6 後,顯示晶片太爛,只能用 console。沒有 GUI 真的不能用。過不久候過放棄了。之後又試了 Ubuntu,但 CPU 太舊(只有 PIII 800 Mhz),跑起來不順,所以也放棄了。
現在裝過 Fedora、Debain、OpenSolaris、Ubuntu、CentOS、FreeBSD,OpenBSD 則用 VirtualBox 完了一下(很難用)。最後我家光碟都被我用光了,到現在還沒買過新的。
結論是 FreeBSD 安裝最方便,其餘 Linux 和 OpenSolaris 都差不多,但安裝後差別就大了。每個 distro 都有不同的特色(優缺點),像 Fedora、Ubuntu 很受歡迎,Debian、CentOS 較保守,常被拿來架伺服器。至於 FreeBSD 我覺得最好用(雖然事後的設定確實會讓人瘋掉)。
以往只有用 FreeBSD 當伺服器,最近幾天剛將 GNOME 裝好。不過OpenOffice.org、sound card、中文輸入等等都還沒設。昨天用 packages 裝,結果今天用 pkgdb -F 弄了好久,應該加個 -O 比較快。今天也更新了將近 100 個 port。
設 GRUB 的時候發現 M$ Windows 的硬碟要在第一個才能開機(好爛),用 virtual mapping 就可以解決。
剛剛才發現附中 www 上的 phpMyAdmin 爆了。跟 PCRE 的 extension 有關。懶得修了,等校外教學候在說。
明天要去校外教學!
弄了幾個 screenshot:






