2010年9月23日 星期四

ureadahead對Ubuntu Linux系統開機速度影響很大

經過了將近一個月的反覆實驗,我終於確定了可重複讓Ubuntu Linux快速開機的作法,我的Thinkpad X201i在插著SD卡啟動Ubuntu Studio 10.04的狀況,可以在26秒內完成,沒插SD卡,是22秒左右完成,如果是Ubuntu 10.04系統又沒有插SD卡等插拔式外部儲存裝置的話,可以在16秒開機完成。

經過很多的試驗以及爬文,首先,要調整開機,舊式的sysv、inittab一類的調整已經不適用,因為Ubuntu已經把絕大多數開機時啟動的服務,改放進新興的upstart-事件導向的啟動機制,但是upstart的文件很.....所以後來我專注的重點放在ureadahead。

本來我以為ureadahead這東西是可有可無的盲腸存在,因為我先前的測試,本來用generic的kernel開機速度正常,開機速度如前述爆快,但是裝了特製的realtime kernel以後,開機多了一道可怕的訊息:
ureadahead main process (485) terminated with status 5
而且開機時間長到40多秒,本來一直以為是它的錯,一直想把他除之而後快(試過,開機速度沒有改善),後來才發現....原來是我錯怪它了...

其實當前的Ubuntu快速開機有兩大支柱,一個是upstart,另一個是ureadahead,正確「設定」好的ureadahead可以大幅減少開機的時間到將近原來的一半而已,只是之前的我不清楚ureadahead的作用。 orz

ureadahead的作用,有點像所謂的cache,就是把開機時要「固定」啟動的東西整理起來成一個pack,然後開機時直接讀那個pack,提高開機速度。

那要知道哪些東西需要加到pack裡,當然需要一個profile的手續,這手續會在裝好系統第一次開機、套件管理程式安裝變更系統開機過程的套件時(例如安裝新的daemon、kernel等),系統會自動幫你作profile(看套件管理程式的標準輸出會看到提示),然而ureadahead要能正確的profile,必須kernel有被patched過,Ubuntu官方維護的kernel有patched過,但是我加裝的ppa realtime kernel沒有,或者自己編的kernel沒有被patched,那用新的kernel開機就會profile失敗出現這個訊息。
ureadahead main process (485) terminated with status 5

所以真的不是ureadahead的錯XD

那怎麼辦呢?沒關係,重新開機後,在開機到grub的階段,按shift不放,使開機選單出來,然後選到隨便一個generic核心按e,編輯開機選項,在quiet splash的那一行,後面空一格加上profile,然後按ctrl+x開機,開機完,ureadahead還可以幫你記開到桌面完成以後,一分鐘內常執行的事情,所以趁機趕快開個終端機或者你常用的瀏覽器、編輯器等等,以後這些程式可以減少啟動時間(只要開必要的就好囉),好了以後,請再連續用同一個核心開機兩次,來「訓練ureadahead」,以後就可以用回你平常用的那個核心,那個核心就可以正常的快速開機了。

但是請記得,ureadahead對固定的開機程序才有用,所以自己常用的那個kernel跟Ubuntu官方維護的generic kernel開機的程序不可以有不同,例如說用generic kernel訓練時沒開splash畫面,然後自己平常用的kernel卻有開機splash畫面,那當然就會慢下來,此外,前述有沒有插SD卡/隨身碟也有差,所以也要針對自己平常的使用習慣作profile。
  • 如果常態會插SD卡,那profile時就要插SD卡
  • 偶而才插,那profile時也不要插
以下附上我的Thinkpad x201i筆電+Ubuntu Studio 10.04的開機過程,請注意影片最後面的片斷,因為ureadahead的功能,有預讀進入桌面後常執行的的那些程式(包括gnome session、gnome panel、gnome-keyring、pulseaudio、bluetooth管理程式、network-manager等等),所以快速開機並非只是到GDM登入視窗結束,而是進入Gnome桌面以後,馬上進入可作業狀態,這是很有意義的!而不是GDM完,開機音效播完、桌布又秀了15多秒鐘,gnome 面板才珊珊來遲地出現(註一),這點就讓我周遭的windows使用者超流口水的(windows開機音效出來,還是卡卡的,要等常駐程式一個一個開完....,大概可以拖到1~2分鐘,其中有的人還無法按開始選單,例如我弟的電腦就是如此)

以下影片實際開機從第6秒按下按鈕開始(Thinkpad的硬體開機密碼機制)、第31秒聽到Moebuntu開機音效是Gnome開始啟動,第34秒gnome整個已經完全啟動完成可被操控,第38秒則是常用的無線網路登入完成。


註一:沒有ureadahead的加速幫助,Gnome啟動的過程,gnome-keyring的某常式會拖很久的時間(好像是連網找key又找不到的樣子),導致gnome panel很慢才出現,這段時間只有滑鼠游標,我們是動彈不得,被迫欣賞令人不悅的牛步化Gnome啟動過程,這也告訴我們,當開機出現不正常的"ureadahead main process (485) terminated with status 5"訊息,千萬不能無視,如果我們習慣把不正常的事情當成正常,就會喪失向上改良的機會

2010年9月20日 星期一

[初音]丹丹之亂

話說上週五下高雄,週六下午在ICOS2010研討會演講「用開源/自由軟體做音樂」,然後颱風來勢洶洶,迫使ICOS2010週日議程取消,提前結束。

週日就在飯店磨了一天....

颱風真強把一個玻璃門吹走,課本說風雨生信心,飽暖生淫慾,所以....大家就玩起人肉搜尋的遊戲
不過後來高鐵宣佈復駛,晚上有七班,雖然只有自由座+商務車,探子也回報高鐵站人山人海,朋友們還是都衝了,但我回桃園還要轉兩次車很不方便,而且我明天的學生是晚上的課,明早白天回去還可以,所以就續住一晚,順便要感謝ICOS主辦單位的貼心。

回到房間馬上倒下去睡,快晚上11點爬起來,就出飯店冒雨去隔壁便利商店買義大利麵來吃,這時就莫名地想起

好吃的丹丹漢堡,那新筆電-Think便當二號(任務配屬:移動式音樂工作站)都帶來了
監聽耳機、電子鼓墊、作曲用烏克都有帶,所以就來做了一首簡單的歌曲:丹丹之亂,很沒有營養的一首歌,純粹是肚子餓,半夜在哭餓。

這是便當二號音樂製作的初陣,還算順利地在新機上跑完一次整個製作流程,在房間裡面小小地咒罵了幾次Canonical,因為Ubuntu Studio 8.04LTS 的幾個預設的方便作業設定竟然在Ubuntu Studio 10.04LTS被改倒退例如Zynaddsubfx在jackd下開起來竟然還要手動去接線,太瑣碎啦!累死人要one by one自己重新去設參數選項,總之很久沒寫新歌,總算是寫好了,還是在奇妙的地方做好的。XD

2010年9月12日 星期日

gnome 視窗titlebar右鍵失效的處置

最近幾天改來改去,不曉得怎麼弄的,弄到視窗titlebar的右鍵選單功能失效,然後Ubuntu系統選項裡面都找不到可以改設定的地方,又到底這是compiz或者metacity的負責範圍?怎麼辦呢?

開啟gconf-editor
-apps
-metacity
-general
-action_right_click_titlebar
會看到鍵值被設成none,改成menu就可以了,所以正確答案這部份是metacity負責的。

2010年9月9日 星期四

黃乙玲日語+台語跨國精選輯


週末的時候,我在中壢的唱片行逛,買了一片B.B.KING的DVD還有黃乙玲的跨國精選集,日語跟台語的,今天才有一點空聽一聽。

黃乙玲精選這張裡面的歌都很棒,買了才知道黃乙玲原來有在日本發過專輯,而且還拍過日本電視廣告!

這精選集裡面,我超喜歡「ヨコハマ・わかままナイト」這首歌,日本當時的編曲實在像香檳一樣典雅,我實在超喜歡這種風格。

今天練烏克,就順便練這一首

(嗚,最後面我有兩個音猜錯XD)

這首歌網路上根本都沒有,這時代還是有要在CD行才找得到的珍品,音質又很不錯,這片在CD行已經超賤價(買一送一耶)的了,不趁此時入手待何時呢?

2010年9月5日 星期日

午後的大正琴


忙裡偷閒,利用一點時間認真彈侍魂一代的這首配樂





不過有點簡化偷懶就是了,好好玩,日本音樂用日本樂器彈真是夠味

count