[轉錄][公告] 回應關於KKman比較省記憶體的質疑

看板HSNU_1008作者 (4inLove!無可取代)時間19年前 (2004/10/19 21:02), 編輯推噓10(1000)
留言10則, 5人參與, 最新討論串1/1
※ [本文轉錄自 PCman 看板] 作者: HZYSoft (pcman.ptt.cc) 看板: PCman 標題: [公告] 回應關於KKman比較省記憶體的質疑 時間: Fri Sep 10 15:15:24 2004 大家等我這篇應該很久了,我本來不想回的,都在改程式沒空閒聊, 何況這本來是個沒什麼大不了的議題,不過我也很好奇,所以經過研究之後 決定提出我的回覆,大家可以參考看看,有意見歡迎討論,覺得有道理的歡迎轉錄, 先撇開勝負或面子問題不談,我不希望看到一般使用者被數字迷惑。 來個題外話,Intel P4 2.0 G 數字比較大,效能是不是一定比 AMD 1.8 G 強? 剛看到 KKman 這個數字的時候,我也覺得很震驚,這怎麼可能? 可是仔細一想,也還好 因為我要在此強調,Windows XP 工作管理員提供的數字根本完全不能採信 所寫出的數字也根本不是實際記憶體用量,不信的人請跟我這樣做,我證明給你看 1. 打開工作管理員 2. 啟動 Internet Explorer ,看他的記憶體用量,啟動瞬間大約在接近 6~8 MB 左右 開始連上線,讀取首頁之後記憶體用量直線暴增到 12~15 MB 之間,再用一陣子甚至 可能飆上 18,然後請注意這裡!! 請把 IE 視窗最小化,再看清楚記憶體用量 是多少? 是不是嚇到了? 瞬間減低到 3 MB 以下,甚至有時可能只有 800 KB 你相信嗎? 一個要十幾 MB 的軟體突然間剩下幾百 KB 用量? 說別的大家可能不信, 用 IE 舉例我相信這就很明顯,那是作業系統記憶體管理的把戲,不是實際記憶體 用量。 數字可能部分反應出使用情況,但事實上他到底指的是什麼數值,這點 微軟並沒有說清楚講明白,所以其實數字只是看爽的,沒多少參考價值。 3. IE 瀏覽器裡面,大家覺得最需要記憶體的是哪裡? 是工具列按鈕,是網址列,是選單 還是中間那塊內容超豐富的瀏覽器視窗? 用過的人應該知道答案。 事實上剛啟動瀏覽器的時候記憶體使用量很低,到開始讀取網頁的時候才會暴增 誰在吃記憶體,這很明顯。 請問大家,IE 本身需要 10 MB 以上的記憶體才能運作 而耗用記憶體的部分根本不在除網頁以外的地方,那一個使用 IE 為核心,完全依賴 IE 瀏覽器視窗的軟體,可能只有 2 MB 就能運作嗎? 如果這是可行的,世界最大的 軟體公司,怎麼不會想到把原 IE 丟掉,另外寫一個用 IE 為核心的軟體取代? 別的不說,網頁上顯示一張全彩 800 x 600 的圖要多少記憶體? 現在相簿很流行 不要以為 JPG 很小,要在螢幕上繪圖輸出都要先在記憶體解壓縮成 BMP,大約 2 MB 每個網頁上載入一張圖檔,開兩個分頁就超過軟體總記憶體消耗量了,這不是有鬼? Firefox, IE 都需要 15 MB 以上的記憶體才會跑,所以一個 IE 核心的軟體,消耗 10 MB 以上的記憶體是正常用量,事實上 GreenBrowser 也要 10 MB 以上,誰跟我說 他真的相信 KKman 可以用 5~6 MB 就開好多分頁還上 BBS? 我知道顯示出來的數字 就是這樣,但如果這真的是因為程式寫的好,很省記憶體,那 KKman 早就不叫做 KKman 了,應該叫做 Microsoft KKman,因為微軟會買走他取帶 IE,內建於 Widows 一個軟體建構在需要 10 MB 的龐大核心上,沒可能用 5 MB 就可以執行,我還沒 有找到數字可以這麼"好看"的原因,但是大家可以試著這樣做,開幾個分頁,然後 切換來切換去,是不是發現每次切換記憶體用量都在變動? 而且甚至有時候會分頁開 越多,記憶體用量卻顯示越少的數字? 明眼人都知道這不可能是真的...這不用我多說 我沒有辦法解釋他是怎麼作到這種"數字",但是我可以證明那個數字完全是假的 4. 為了求證,我改用專業軟體開發工具實測,結果發現截然不同的結果 使用 Microsoft Process Viewer 來觀察 KKman ,有一些新發現: 測試環境: KKman beta 3 開三個空白分頁,一個 Google 加上一個 KKCity Total commit Address Space : 36288 KB = 36 MB 這不是實際用量,commit 只會分配記憶體位址空間,不會實際配置記憶體 等到軟體真正需要用記憶體時,才會配置記憶體分頁,通常在分頁錯誤時配置 Mapped commit: 13260 KB,13 MB 左右,IE 核心軟體的一般正常用量, Read Only: 8752 KB 常數資料使用 8.7 MB Writable: 3580 KB 可寫入空間 3.5 MB Executable: 928 KB 可執行記憶體區段, 1MB ----------------------------------------------- Wroking set: 1588 KB = 1.5 MB Peak working set: 10684 KB = 10.6 MB Private pages: 6592 KB 重點來了: Page Fault: 140 查一下電腦上其他軟體的 Page fault,一般分佈在 4 ~ 35 之間 而 KKman 3 每切換一次分頁,就會增加很多 Page fault 分頁錯誤 這是什麼? 通常一個程式有大量的 Page fault 某種程度上表示效能低落 Page fault 是發生在軟體像系統要求記憶體,而實際上記憶體空間不存在時 白話一點的說,會發生在記憶體不足需要配置的時候,也就是 KKman 一直在不斷的做 大量記憶體配置,釋放的動作,經常跟系統要求記憶體,可能是程式編譯時刻意縮小 許多記憶體,包括堆疊等等,導致執行期間雖然帳面上數字好看,但實際上效能低落 大量的記憶體分頁錯誤也可能導因於過度使用的 inline function,或其他原因 有時候是因為要求到其他 Page 沒映射進來的記憶體,或者種種原因,也或許是因為 他是動態連結 MFC 4.2 的 dll 造成不斷需要 memmory mapping ? 實際我不是很懂 也不確定我有沒有說錯,這要問資訊科系念作業系統的人,我只懂皮毛。但不管怎樣 過量的 Page fault 在程式上來說,一般是認為這是程式效能比較低落的指標 雖然我覺得用起來也還好,沒什麼特別低落的感覺,但理論上來說確實是這樣的 太低階的東西我也不懂,姑且不論 KKman 怎麼讓記憶體消耗量顯示出小的數字 這並不代表他比較強,我說過了,使用需要 10 MB 的核心沒理由只要 5 MB 就可以跑 何況 PCMan 比 KKman 多了不少功能,這樣的比較沒有意義也不公平。 5. 結論,技術或數字不是重點,習慣才是王道,大家還是自由選擇自己喜歡的軟體 各取所需,開心就好。 這才是民主自由開放的社會 :) 不管你是 PCMan , KKman, MultiTerm or PacketSiTE,祝各位使用愉快。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.129.59.3 ※ 編輯: HZYSoft 來自: 140.129.59.3 (09/10 15:16)

140.113.126.3 09/10,
這一解釋,可就清楚明白了:P
140.113.126.3 09/10

220.139.62.92 09/10,
大推呀~ 借轉回信箱
220.139.62.92 09/10

218.160.25.59 09/10,
-->> [人不是PCMan殺的啦~~XD]
218.160.25.59 09/10

202.178.160.155 09/10,
請問作者可以轉回ptt2嗎?謝謝!:)
202.178.160.155 09/10

220.229.27.34 09/10,
文章第三行有提到歡迎轉錄 感謝HZYSoft
220.229.27.34 09/10

61.229.144.75 09/10,
推~
61.229.144.75 09/10

218.164.133.215 09/10,
大推 借轉回學校的BBS 謝謝
218.164.133.215 09/10

140.118.202.141 09/10,
大力推!!PCMAN萬歲萬歲萬萬歲~~~~
140.118.202.141 09/10

140.113.95.98 09/10,
推~~ PCMan好棒~~~
140.113.95.98 09/10

218.187.60.67 09/11,
再推!
218.187.60.67 09/11

140.112.245.210 09/11,
轉....宣傳一下^^
140.112.245.210 09/11

61.222.17.242 09/13,
PCMAN真是太強了! 推推~ :D
61.222.17.242 09/13
-- ╭──────────────┬──────────────╮ ⊙我的【YAHOO!奇摩交友】  │⊙我的【無名相簿】     │我缺女友....  http://myurl.com.tw/4d3l  http://myurl.com.tw/k15b 想交TEEN女友 ╰──────────────┴──────────────╯ ★☆ PTT NEWS : 黑特版 上新聞啦!新聞影片 → http://myurl.com.tw/jee7 ★☆ 火線新聞 : PCMan 2004 Combo 正式版已釋出! ( http://pcman.ptt.cc ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.124.228

140.113.122.108 10/19, , 1F
精闢!!可是我看不懂 Q_Q
140.113.122.108 10/19, 1F

61.64.138.49 10/19, , 2F
資工王覺得文章太淺,不是看不懂吧!!!
61.64.138.49 10/19, 2F

140.113.122.108 10/19, , 3F
她寫的太專業了我看不懂啦 ><
140.113.122.108 10/19, 3F

61.64.138.49 10/19, , 4F
這個對你應該是小case阿!! 太白話啦!!
61.64.138.49 10/19, 4F

140.113.122.108 10/19, , 5F
我連計概課都聽不懂耶
140.113.122.108 10/19, 5F

140.114.230.49 10/19, , 6F
資霸的意思是說太白話了所以聽不懂....
140.114.230.49 10/19, 6F

61.64.180.51 10/19, , 7F
他要黑一點的才看的懂 XD
61.64.180.51 10/19, 7F

140.113.122.108 10/19, , 8F
我正受到番仔的攻擊嗎?!!
140.113.122.108 10/19, 8F

218.166.155.81 10/19, , 9F
資霸:「老夫一夫當關 萬夫莫敵!!」
218.166.155.81 10/19, 9F

140.113.122.108 10/19, , 10F
陳慶堂好強 <(_ _)>
140.113.122.108 10/19, 10F
文章代碼(AID): #11TH1XAR (HSNU_1008)