[轉貼]NVFS Palm 機器的一些要點 (TT5/T|X/LD) (dbcache)

作者: gpc (你有受過pda的專業訓練嗎) 看板: PDA
標題: [分享] NVFS Palm 機器的一些要點 (TT5/T|X/LD) (dbcache)
時間: Tue Feb 28 01:28:31 2006

(A). nvfs機器的dbcache 與 non-nvfs機器的heap memory 概述
—————————————————————————

簡單說一下好了,新款的palm device,改成非揮發性記憶體(NVFS)

所以機器裡面的資料沒電不會不見,這當然是件好事情,但是

一體兩面的,因為要讓資料不會不見的方法就是把資料放在Flash ROM上面.

可是Flash ROM的存取速度遠比以往的RAM還要慢,因此nvfs的機器裡面會搭載另外一塊
記憶體,這個記憶體叫做dbcache,本質的話是RAM做的(就跟以前的palm的記憶體一樣),

但是就OS架構來說,nvfs機器裡面的dbcache同等於以前palm裡面的heap memory.

這個部份可能很多人都不知道什麼是heap memory,要說起來也很複雜,簡單的說就是,
像如果你有使用過 sony clie nr70v,你會發現他的包裝盒上面有說RAM有16MB,
但是真正你可以用的部份大概只有8MB左右吧?那剩下的8MB跑到哪呢?

剩下的那8MB其實就是heap memory.
作用是給正常run的程式來放一些暫存產生的變數或資料.

以上是non-nvfs機器裡面的heap memory作用.

但是當你的nvfs機器已經有點不一樣了.

以往的ram變成flash rom之後速度大大變慢,所以不能在像以前可以直接在RAM跑程式,
所以OS5.4會把要跑的程式load到以前所謂的heap memory,也就是現在的dbcache.
大小方面:以tt5(升級1.1後)來說,大約有14mb可以使用,T|X有8mb左右.

雖然看起來8MB,14MB好像很大,但是要注意到,這些叫做dbcache,並不是heap memory.

而dbcache跟heap memory最大的差別就在於

以前我們的non-nvfs palm只要一跑完一個程式,就會把heap memory給清掉,
但是現在我們nvfs的palm,不會清掉.
(別問我為什麼不會清掉,因為剛剛說過,nvfs的機器用flash rom,所以載入程式慢,
只要載入完之後就會放在dbcache裡面以供下次如果要跑同樣程式時可以快速進入)

既然不會清掉,就會有滿出來的危機,
既然不會清掉,就算八百萬MB也會有滿出來的一天,

所以當dbcache滿出來了之後,結局就是”當機”(卡住 OR reset)

所以當你用nvfs機器的時候,如果你有使用數量不少的程式,就有可能會遇到這個問題.

(B). dbcache所造成 nvfs 機器不穩定的原因?
————————————————————————–
剛剛說了很多,簡單的說nvfs的機器如果dbcache滿了就會噴出來,噴了就會當機

所以我們要清.

但是很明顯的,清理dbcache的工作就很重要,首先palm5.4系統也不是白痴,
當他要跑程式的時候發現dbcache不夠的時候,他就會把之前放在dbcache裡面的東西清掉.

但是有兩種情況會出事情!

1.就是palm os本來認為我的dbcache足夠,所以就沒清,但是實際上程式跑到一半會不夠.
最明顯的就是hotsync,因為當你同步的時候有大量的資料在dbcache裡面運算,
(如果你還安裝些很大的檔案),而palm os不可能神奇到知道你要同步多少東西進去,
一但你的dbcache不夠,就噴了,於是你同步就失敗,機器就重啟了.

2.palm os清dbcache的時候清到不該清的東西,比如說你有運行一些背景的程式,
像是Pocket tune或是Chatopus,如果清dbcache的時候沒清好,會順把這些背景程式需要
的lib給從dbcache中掃掉,當那些背景程式需要那些lib卻在dbcache中找不到,
恭喜你,你的機器又要reset了.

基於以上原因,如果你一不小心,可能就會中獎.

(C). 如何穩定的清除dbcache以增加機器的穩定性與速度?
—————————————————————————–

基本上市面上目前有人流行用所謂的 dbcachetool 來做處理.

這個東西是日本人寫的一個可以手動來釋放 dbcache 中的內容物的工具

但是 根據實際測試的結果,這個dbcache tool的釋放能力 有點強,

在部分的情況下會把機器越放越慘,而且才有意想不到的後遺症.

因此並不建議使用這個東西來釋放dbcache.

目前最佳的方案是使用 “內建的瀏覽器”

當你有同步問題或是心血來潮時,就執行1下 “瀏覽器”
大家可能注意到,啟動瀏覽器花費很多時間,沒錯,其實那時候就是在釋放dbcache.

由於瀏覽器是一種很耗費資源的程式,所以每當它啟動,就會盡可能的把dbcache裡面的
可釋放的東西給釋放掉.並不會像其他的工具有不好的效果或是副作用.

打好多字,先休息,有控在繼續.

—————————————————————————-
(D) dbcache 與 reset 地獄
(E) dbcache 的分配 與 程式使用量

在一個飄著雪的市鎮,有一間工廠,沒有任何工人進出,
但是卻有源源不絕的PDA,從工廠裡面運出來.
傳說中在工廠的深處,有一個專門為工廠工作的 …..


※ 發信站: 批踢踢實業坊(ptt.cc)

歷史上得今天..

Leave a Reply

Your email address will not be published. Required fields are marked *

Enter Captcha Here : *

Reload Image