笨兔兔的故事——帶你瞭解Ubuntu,瞭解Linux 內存 第二十一章

(21)內存
  騎白馬的不必定是王子,也多是唐僧。
  燒香的不必定是和尚,也多是熊貓。
  藍臉的不必定是戲臺上的竇爾墩,也多是我隔壁的查皮。
  
   查皮好像比較禁受不住刺激,對工做間的要求比較高,一旦哪一個程序帶進來只小蟲子(bug),查皮常常嚇的臉色變藍,唸叨一堆英文字母而後就開始倒數,數完了,就把整個機器重啓了。查皮的這種毛病讓好多人鬱悶不已,那他到底爲何藍臉?藍臉之後又是在幹什麼呢?
  
   前面我說過,操做系統的本職工做就是管理——管理硬件資源,管理各類程序。就好像老師管理一個班的學生,老闆管理一個部門的職員。不過,不管學生仍是職員,都有可能不聽話,程序也是如此。查皮成天坐在工做間(內存)裏吆喝:「QQ快起牀,IE呀,你看看這內存裏就這麼大地方,你一個瀏覽器要佔多少啊。QQ怎麼還沒起牀啊?快點快點。我說瑞星啊,你能不能別讓你那獅子處處亂跑啊,它淨用CPU了,快把它趕開。QQ那QQ那,怎麼還不起啊,再不起老大該怒啦,有40多MM等着他去聊天呢。啥?你說迅雷佔着網絡你起來也沒用?唉,迅雷你也是,就那麼點帶寬,就說你下的這個什麼 Ubuntu dvd挺大的吧,就不能留個5k,10k的給qq用用?你瞧瞧人家IE,也能下載,他……咦?IE?你怎麼站那不動了?IE!IE!靠,又沒響應了,還得拍暈了歷來……」 天天在這樣的高強度壓力下工做,查皮有些心力交瘁。怪不得查皮接二連三電的幹上幾天就不行了,而我能夠連續幹上幾個月都沒問題。查皮的神經就這樣天天緊繃着,程序來個假死什麼的還算好解決,可要是哪一個程序突然抽風,再內存裏追跑打鬧,上竄下跳,查皮一時手足無措,就容易藍屏了。藍屏以後,他會向老大(我管他叫主人)報告,本身爲何藍了,問題發生在內存的哪一個區域,發生了什麼,而且把當時內存裏的狀況如實的記錄下來,寫成一份《工做間突發事件記錄》一邊記錄一邊報告記錄的百分比——這就是他在倒數。記下來這個幹什麼呢?牛人們能夠拿着這份記錄,分析究竟是哪裏出了問題。不過好像通常人都不是牛人,誰也沒看過查皮的記錄。
  
   對於工做間的使用,查皮和我還有一點不一樣。查皮老是喜歡儘可能留出空間來,好給新起牀的程序用。但是我總以爲,查皮怎麼能知道還會有什麼程序要運行呢?要是沒有程序要來了,工做間裏還空那麼大地方,不讓正在工做的程序用,那不是浪費麼?我仍是習慣儘量的把東西都搬進工做間裏。除了程序們申請多少內存就儘量給多少以外,剩下的部分,我就把一些可能會用到的庫啊,命令啊啥的通通都搬進來,能佔多少佔多少。那有人問,要是你把這裏邊都沾滿了,待會有程序要進來咋辦?很簡單啊,我再搬出去唄!程序要進來,也不是一會兒都進來,他也得把他的東西一點點搬進來,他往內存裏搬的時候,我就往外搬,不耽誤。因此,當有程序要啓動,跟我說:我要10平米的地方放東西。的時候,我就先答應他說,好,放吧,有地。而後在他往裏搬的時候我再給他騰地方。也可能他要10平,可是隻用了2平,那我就先騰出2平來,等他再要我再騰。他們管我這個方法叫Copy-on-write。查皮就不一樣了,多是由於他比較胖的緣故吧,他比較懶,不肯意搬來搬去這麼折騰。基本上他只是在必須用啥東西的時候才把那東西搬到內存裏,讓內存留出儘量多的空間。這樣,當有程序管他申請內存的時候,他就能夠用手一指:那塊地,歸你。而後就不用管了。實在內存不夠用的時候就找個比較閒的程序,命令他:你,去硬盤裏先忍會。(順便說說,這個32位的查皮,並不可以徹底利用起這4G大的內存空間,而是隻能用到2.5G,浪費啊。)
  
   因此,常常跟查皮打交道的人,總以爲內存裏空着的地方越大越好。當他們看到我把內存佔的那麼滿的時候,總以爲很不爽,唉~我冤枉啊。 linux
相關文章
相關標籤/搜索