記憶體是CPU存取資料的地方,是系統效能的另一個重要的關鍵,且讓我們來看看在談到記憶體的效能這個議題時,我們通常會關注哪些面向:
Linux作業系統將實體記憶體對應到虛擬記憶體上,並透過對虛擬記憶體的管理來操作記憶體。虛擬記憶體的特點就是,要執行的程式可以大於實體記憶體的容量,而且作業系統可以同時執行多個程式,不必受限於實體記憶體的大小。記憶體是CPU存取資料的地方,是系統效能的另一個重要的關鍵,且讓我們來看看在談到記憶體的效能這個議題時,我們通常會關注哪些面向:
可用的記憶體空間(free memory)。在Linux作業系統中,kernel會盡可能地使用可用的記憶體空間作為file-system的cache。
Swap的使用情形。Swap大多是拿硬碟空間來作為實體記憶體的延伸,當未使用中的程式片段(page)就會被放到這個區塊。就因為swap是磁碟空間,所以過頻繁的swap交換動作會影響系統的效能。
Buffer與cache。紀錄常被使用的記憶體區塊,用以加速資料的搜尋。
Slabs。專指kernel所使用的記憶體空間(kernel page)。Linux kernel所占用的記憶體空間是無法對應到磁碟上的。
動態與非動態記憶體。動態(active)就是指使用中的記憶體;而非動態(inactive)就是即將搬到swap上的。
Linux的虛擬記憶體管理,非三言兩語可以說完的,我們會在後續的篇幅中繼續討論這塊。明天要介紹的系統效能關鍵字是網路這個面向,敬請期待。
本系列文章:
Linux系統效能分析與探討 - [1] CPU的效能關鍵字
chiounan提到:
4. Slabs。專指kernel所使用的記憶體空間(kernel page)。Linux kernel所占用的記憶體空間是無法對應到磁碟上的。
時代在進步,