資料介紹
物理內(nèi)存不足可能會嚴(yán)重影響 Linux? 的性能。在本文中,我們將學(xué)習(xí)如何精確地度量 Linux 系統(tǒng)所使用的內(nèi)存量。還將以 Ubuntu 系統(tǒng)為例學(xué)習(xí)有關(guān)降低內(nèi)存需求的實踐建議。
Linux 廣受追捧的一個優(yōu)點是它比 Microsoft? Windows? 的效率更高,因此在不太前沿的硬件上也能很好地執(zhí)行。對于依然使用 Windows 98 時代的機(jī)器的人來說,最新最卓越的軟件(特別是安全補丁)已經(jīng)不再支持這些機(jī)器,因此這種性能優(yōu)勢使 Linux 成為頗具吸引力的升級產(chǎn)品。
然而,問題的真相在于雖然 Linux 內(nèi)核仍然可以配置成合理的大小和效率,但由于新計算機(jī)的處理能力大大加強(qiáng),很多 Linux 桌面環(huán)境(例如 KDE 和 GNOME)都增加了許多特性。因此,在較老的硬件上默認(rèn)安裝大多數(shù)發(fā)行版時,提供的性能都不是一流的。很多現(xiàn)代應(yīng)用程序也是如此,例如,F(xiàn)irefox 之類的 Web 瀏覽器和 OpenOffice 之類的辦公套件均功能完備,但是嘗試在只有 128MB RAM 的機(jī)器上運行這些程序,可能會成為非常痛苦的體驗!
該怎么辦?丟掉所有舊的硬件然后升級?還是安裝 1995 年左右的 Linux 發(fā)行版?(如果您決定走這條路,我記得使用 Linux-FT 是一種很好的體驗。)
不要擔(dān)心:多年以前,Linux 社區(qū)中的人就已經(jīng)認(rèn)識到這個問題,Linux 內(nèi)核和發(fā)行版的一大特性(有人喜歡說 這個 偉大特性)在于其能夠定制。本文將介紹如何對 Linux 系統(tǒng)進(jìn)行裁減,以便在小容量的硬件上獲得更好的性能。
內(nèi)存的作用
在大多數(shù)情況下,桌面操作系統(tǒng)性能的一個最重要因素就是系統(tǒng)可用的內(nèi)存量。雖然擁有快速的處理器效果不錯,但是如果沒有足夠的物理內(nèi)存保證一直很好地利用處理器,系統(tǒng)可能會花費大量時間用于在物理內(nèi)存和交換空間之間的交換數(shù)據(jù)(這種情況稱為 磁盤抖動),而 CPU 的大部分時間都是空閑的。因此對于老式的系統(tǒng)來說,額外添加內(nèi)存通常是提高性能的最簡單方法。然而,有很多原因決定了這種方法不太可能,例如缺少空閑插槽,對于一些系統(tǒng)(尤其是筆記本或基于 RAMBUS 的系統(tǒng))來說,則是缺少買得起的 RAM,以及不希望在一臺過期的系統(tǒng)上花更多錢這個容易理解的心理。
如果無法或不愿意升級 RAM,接下來最好減少系統(tǒng)上的 RAM 需求。本文將展示為 Linux 機(jī)器打造內(nèi)存天堂 5 個簡單步驟。
步驟 1:選擇正確的桌面環(huán)境
惟一需要做的重要選擇就是要安裝的 Linux 發(fā)行版和桌面環(huán)境(DE)。盡管這是截然不同的選擇,但是發(fā)行版的選擇可能影響 DE 的選擇。雖然沒有任何東西能夠阻擋您在系統(tǒng)上安裝軟件,例如在 Ubuntu 上安裝 Fluxbox;但是您會發(fā)現(xiàn)如果簡單地使用發(fā)行版所附帶的默認(rèn) DE,一切就會輕松很多。
在本文方案中,目標(biāo)是尋找面向桌面的簡單發(fā)行版,以便于新用戶使用。我從 Ubuntu 6.10 開始入手,它和 GNOME 2.16 一起推出。
對于基本系統(tǒng)來說,我選擇了一臺配有 800MHz 處理器和 256MB RAM 的老機(jī)器。我將執(zhí)行了兩次測試,一次使用全部 256MB RAM 正常引導(dǎo),一次在內(nèi)核行上附加了 mem=128M,這會強(qiáng)制內(nèi)核只識別 128MB 物理內(nèi)存。這樣就可以有效地試驗 256MB 和 128MB 的機(jī)器,而不必實際使用另一臺物理機(jī)器(也不必反復(fù)從機(jī)器中插拔內(nèi)存)。這個內(nèi)核行選項能夠足夠近似地模擬 128 MB 的機(jī)器的行為;注意,如果真的只有 128MB 內(nèi)存,可能會遇到其他問題,舉例來說,要使用 Ubuntu,必須使用一個不同于普通機(jī)器磁盤的安裝盤,它是專門為少于 192MB RAM 的機(jī)器準(zhǔn)備的。
為了了解基本水平的內(nèi)存使用情況,引導(dǎo)該系統(tǒng),登錄到桌面系統(tǒng),并啟動一個終端(在本文后面的內(nèi)容中,我將這種設(shè)置稱為 基本使用水平(base level));然后使用 free 命令來檢查系統(tǒng)中的空閑內(nèi)存量,結(jié)果如清單 1 所示。
清單 1. Ubuntu 在 256MB 機(jī)器上的基本使用水平
ubuntu # free
total used free shared buffers cached
Mem: 255988 231704 24284 0 6432 139292
-/+ buffers/cache: 85980 170008
Swap: 746980 0 746980
第一行說明 256MB RAM 中有 231MB “正在使用”。下一行告訴我們盡管有 231MB 內(nèi)存正在使用,但是應(yīng)用程序只使用了其中的 86MB;緩沖區(qū)和高速緩存使用了其余的內(nèi)存。
要評價性能,該清單中最重要的部分是 Swap 一行;它告訴我們當(dāng)前沒有使用任何交換空間,這說明目前沒有真正遇到內(nèi)存問題。系統(tǒng)現(xiàn)在可以全部裝入物理內(nèi)存,而不必借助慢速的基于磁盤的交換空間。
然后,為了了解系統(tǒng)的日常使用情況,啟動一個 Web 瀏覽器(Firefox 2.0),然后用其打開 developerWorks,將即時消息客戶機(jī)(Gaim)連接到 MSN,并使用文件管理器來瀏覽文件夾,又在 OpenOffice 中打開一個相當(dāng)大的 Microsoft Word 格式的文檔。(在本文剩余的部分中,將這種設(shè)置稱為 輕量級使用水平(light usage level)。)
一旦成功加載這些之后, free 命令將如清單 2 所示。
清單 2. Ubuntu 在 256MB 機(jī)器上的輕量級使用水平
ubuntu # free
total used free shared buffers cached
Mem: 255988 252196 3792 0 21276 87500
-/+ buffers/cache: 143420 112568
Swap: 746980 18676 728304
可以看到內(nèi)存部分稍有變化?,F(xiàn)在應(yīng)用程序使用了 143MB 的物理內(nèi)存,其余的內(nèi)存均被緩沖區(qū)占用;另外,系統(tǒng)現(xiàn)在使用了 18MB 的交換空間。在這種輕量級的辦公任務(wù)情況下,系統(tǒng)的可用性通??雌饋砗懿诲e,但是已經(jīng)沒有太多發(fā)展空間了,可能無法進(jìn)行需要資源更多的操作,例如編輯巨大的數(shù)字照片或視頻文件,因為系統(tǒng)很快就會在處理時發(fā)生停歇。
為了了解系統(tǒng)在只有 128MB 時的執(zhí)行情況,我重新引導(dǎo)了系統(tǒng),并在內(nèi)核行后面附加了 mem=128M 選項,就像前面介紹的一樣。在與清單 1 同樣的基本使用水平上,使用 128MB RAM 得到的結(jié)果如清單 3 所示。
清單 3. Ubuntu 在 128MB 機(jī)器上的基本使用水平
ubuntu # free
total used free shared buffers cached
Mem: 126100 121464 4636 0 1636 37000
-/+ buffers/cache: 82828 43272
Swap: 746980 17924 729056
可以看到現(xiàn)在只使用了 128MB 內(nèi)存,已經(jīng)開始使用交換空間了,并且現(xiàn)在實際上還沒有開始執(zhí)行任何操作。
Linux 廣受追捧的一個優(yōu)點是它比 Microsoft? Windows? 的效率更高,因此在不太前沿的硬件上也能很好地執(zhí)行。對于依然使用 Windows 98 時代的機(jī)器的人來說,最新最卓越的軟件(特別是安全補丁)已經(jīng)不再支持這些機(jī)器,因此這種性能優(yōu)勢使 Linux 成為頗具吸引力的升級產(chǎn)品。
然而,問題的真相在于雖然 Linux 內(nèi)核仍然可以配置成合理的大小和效率,但由于新計算機(jī)的處理能力大大加強(qiáng),很多 Linux 桌面環(huán)境(例如 KDE 和 GNOME)都增加了許多特性。因此,在較老的硬件上默認(rèn)安裝大多數(shù)發(fā)行版時,提供的性能都不是一流的。很多現(xiàn)代應(yīng)用程序也是如此,例如,F(xiàn)irefox 之類的 Web 瀏覽器和 OpenOffice 之類的辦公套件均功能完備,但是嘗試在只有 128MB RAM 的機(jī)器上運行這些程序,可能會成為非常痛苦的體驗!
該怎么辦?丟掉所有舊的硬件然后升級?還是安裝 1995 年左右的 Linux 發(fā)行版?(如果您決定走這條路,我記得使用 Linux-FT 是一種很好的體驗。)
不要擔(dān)心:多年以前,Linux 社區(qū)中的人就已經(jīng)認(rèn)識到這個問題,Linux 內(nèi)核和發(fā)行版的一大特性(有人喜歡說 這個 偉大特性)在于其能夠定制。本文將介紹如何對 Linux 系統(tǒng)進(jìn)行裁減,以便在小容量的硬件上獲得更好的性能。
內(nèi)存的作用
在大多數(shù)情況下,桌面操作系統(tǒng)性能的一個最重要因素就是系統(tǒng)可用的內(nèi)存量。雖然擁有快速的處理器效果不錯,但是如果沒有足夠的物理內(nèi)存保證一直很好地利用處理器,系統(tǒng)可能會花費大量時間用于在物理內(nèi)存和交換空間之間的交換數(shù)據(jù)(這種情況稱為 磁盤抖動),而 CPU 的大部分時間都是空閑的。因此對于老式的系統(tǒng)來說,額外添加內(nèi)存通常是提高性能的最簡單方法。然而,有很多原因決定了這種方法不太可能,例如缺少空閑插槽,對于一些系統(tǒng)(尤其是筆記本或基于 RAMBUS 的系統(tǒng))來說,則是缺少買得起的 RAM,以及不希望在一臺過期的系統(tǒng)上花更多錢這個容易理解的心理。
如果無法或不愿意升級 RAM,接下來最好減少系統(tǒng)上的 RAM 需求。本文將展示為 Linux 機(jī)器打造內(nèi)存天堂 5 個簡單步驟。
步驟 1:選擇正確的桌面環(huán)境
惟一需要做的重要選擇就是要安裝的 Linux 發(fā)行版和桌面環(huán)境(DE)。盡管這是截然不同的選擇,但是發(fā)行版的選擇可能影響 DE 的選擇。雖然沒有任何東西能夠阻擋您在系統(tǒng)上安裝軟件,例如在 Ubuntu 上安裝 Fluxbox;但是您會發(fā)現(xiàn)如果簡單地使用發(fā)行版所附帶的默認(rèn) DE,一切就會輕松很多。
在本文方案中,目標(biāo)是尋找面向桌面的簡單發(fā)行版,以便于新用戶使用。我從 Ubuntu 6.10 開始入手,它和 GNOME 2.16 一起推出。
對于基本系統(tǒng)來說,我選擇了一臺配有 800MHz 處理器和 256MB RAM 的老機(jī)器。我將執(zhí)行了兩次測試,一次使用全部 256MB RAM 正常引導(dǎo),一次在內(nèi)核行上附加了 mem=128M,這會強(qiáng)制內(nèi)核只識別 128MB 物理內(nèi)存。這樣就可以有效地試驗 256MB 和 128MB 的機(jī)器,而不必實際使用另一臺物理機(jī)器(也不必反復(fù)從機(jī)器中插拔內(nèi)存)。這個內(nèi)核行選項能夠足夠近似地模擬 128 MB 的機(jī)器的行為;注意,如果真的只有 128MB 內(nèi)存,可能會遇到其他問題,舉例來說,要使用 Ubuntu,必須使用一個不同于普通機(jī)器磁盤的安裝盤,它是專門為少于 192MB RAM 的機(jī)器準(zhǔn)備的。
為了了解基本水平的內(nèi)存使用情況,引導(dǎo)該系統(tǒng),登錄到桌面系統(tǒng),并啟動一個終端(在本文后面的內(nèi)容中,我將這種設(shè)置稱為 基本使用水平(base level));然后使用 free 命令來檢查系統(tǒng)中的空閑內(nèi)存量,結(jié)果如清單 1 所示。
清單 1. Ubuntu 在 256MB 機(jī)器上的基本使用水平
ubuntu # free
total used free shared buffers cached
Mem: 255988 231704 24284 0 6432 139292
-/+ buffers/cache: 85980 170008
Swap: 746980 0 746980
第一行說明 256MB RAM 中有 231MB “正在使用”。下一行告訴我們盡管有 231MB 內(nèi)存正在使用,但是應(yīng)用程序只使用了其中的 86MB;緩沖區(qū)和高速緩存使用了其余的內(nèi)存。
要評價性能,該清單中最重要的部分是 Swap 一行;它告訴我們當(dāng)前沒有使用任何交換空間,這說明目前沒有真正遇到內(nèi)存問題。系統(tǒng)現(xiàn)在可以全部裝入物理內(nèi)存,而不必借助慢速的基于磁盤的交換空間。
然后,為了了解系統(tǒng)的日常使用情況,啟動一個 Web 瀏覽器(Firefox 2.0),然后用其打開 developerWorks,將即時消息客戶機(jī)(Gaim)連接到 MSN,并使用文件管理器來瀏覽文件夾,又在 OpenOffice 中打開一個相當(dāng)大的 Microsoft Word 格式的文檔。(在本文剩余的部分中,將這種設(shè)置稱為 輕量級使用水平(light usage level)。)
一旦成功加載這些之后, free 命令將如清單 2 所示。
清單 2. Ubuntu 在 256MB 機(jī)器上的輕量級使用水平
ubuntu # free
total used free shared buffers cached
Mem: 255988 252196 3792 0 21276 87500
-/+ buffers/cache: 143420 112568
Swap: 746980 18676 728304
可以看到內(nèi)存部分稍有變化?,F(xiàn)在應(yīng)用程序使用了 143MB 的物理內(nèi)存,其余的內(nèi)存均被緩沖區(qū)占用;另外,系統(tǒng)現(xiàn)在使用了 18MB 的交換空間。在這種輕量級的辦公任務(wù)情況下,系統(tǒng)的可用性通??雌饋砗懿诲e,但是已經(jīng)沒有太多發(fā)展空間了,可能無法進(jìn)行需要資源更多的操作,例如編輯巨大的數(shù)字照片或視頻文件,因為系統(tǒng)很快就會在處理時發(fā)生停歇。
為了了解系統(tǒng)在只有 128MB 時的執(zhí)行情況,我重新引導(dǎo)了系統(tǒng),并在內(nèi)核行后面附加了 mem=128M 選項,就像前面介紹的一樣。在與清單 1 同樣的基本使用水平上,使用 128MB RAM 得到的結(jié)果如清單 3 所示。
清單 3. Ubuntu 在 128MB 機(jī)器上的基本使用水平
ubuntu # free
total used free shared buffers cached
Mem: 126100 121464 4636 0 1636 37000
-/+ buffers/cache: 82828 43272
Swap: 746980 17924 729056
可以看到現(xiàn)在只使用了 128MB 內(nèi)存,已經(jīng)開始使用交換空間了,并且現(xiàn)在實際上還沒有開始執(zhí)行任何操作。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式 Linux 中的內(nèi)存管理
- 基于內(nèi)存關(guān)聯(lián)分析的內(nèi)存預(yù)拷貝遷移策略 14次下載
- 一種基于內(nèi)存關(guān)聯(lián)分析的預(yù)拷貝遷移策略 9次下載
- 基于機(jī)器學(xué)習(xí)的內(nèi)存泄漏測試腳本預(yù)測方法 29次下載
- Linux 內(nèi)核新增的異構(gòu)內(nèi)存管理(HMM)會帶來什么不一樣?資料下載
- 伙伴算法如何才能在Linux內(nèi)核中實現(xiàn)應(yīng)用及其改進(jìn) 14次下載
- Linux入門教程之Linux的內(nèi)核詳細(xì)資料概述 10次下載
- 嵌入式裝置內(nèi)存泄漏檢測系統(tǒng)設(shè)計 3次下載
- 基于線段樹的內(nèi)存管理方法 2次下載
- 高精度、低開銷的單包溯源方法 0次下載
- linux內(nèi)存管理 3次下載
- linux內(nèi)存管理機(jī)制淺析 73次下載
- Linux內(nèi)存管理導(dǎo)讀 39次下載
- SDH開銷和指針
- Linux內(nèi)存管理中的Slab分配機(jī)制
- Linux內(nèi)核內(nèi)存管理架構(gòu)解析 539次閱讀
- Linux內(nèi)核內(nèi)存規(guī)整總結(jié) 1135次閱讀
- 在Linux上使用和不使用交換空間的區(qū)別 1520次閱讀
- Linux內(nèi)存管理體系介紹 1459次閱讀
- Linux操作系統(tǒng)知識講解:走進(jìn)Linux 內(nèi)存分配算法 5324次閱讀
- Linux操作系統(tǒng)知識講解:走進(jìn)linux 內(nèi)存地址空間 4903次閱讀
- Linux操作系統(tǒng)知識講解:走進(jìn)內(nèi)存 2255次閱讀
- Linux:測試進(jìn)程占用的虛擬內(nèi)存大小 2762次閱讀
- Linux內(nèi)存組織結(jié)構(gòu)和頁面布局 6706次閱讀
- 如何管理Linux 的內(nèi)存分頁? 3713次閱讀
- 關(guān)于Linux內(nèi)存模型的介紹 4184次閱讀
- Linux內(nèi)核地址映射模型與Linux內(nèi)核高端內(nèi)存詳解 3397次閱讀
- 如何避免Linux的物理內(nèi)存碎片化 5371次閱讀
- 基于Linux內(nèi)存管理與Android內(nèi)存分配機(jī)制 6128次閱讀
- Linux資料匯總之內(nèi)存管理 4328次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多