Linux VPS服務器內存佔用過多的原因分析

   近日,有客戶諮詢關於Linux VPS服務器的內存佔用問題:爲什麼Linux VPS經常空閒內存很少,到底需要多大的內存纔夠用?其實,有時候並不是了內存真的不夠用,而是一種表象罷了,實際上這也是體現了Linux內存管理的一箇非常優秀的特性。

  可能很多人用慣了Windows系統,在Windows下可以使用任務管理器查看當前進程對於內存的消耗情況。一般來說,Windows在只需要內存時,才爲應用程序分配內存,否則再大容量的內存空間也不會充分得到利用。

  而在Linux的特點就是充分利用物理內存。無論物理內存還有多大,Linux都將其充分利用,將一些程序調用過的硬盤數據讀入內存,利用內存讀寫的高速特性來提高Linux系統的數據訪問性能。只要物理內存還有空閒時,就不會釋放其佔用內存,即使佔用內存的程序已經被關閉,該程序所佔用的內存也會用來做緩存使用,好處就是對於開啓過的程序、或是讀取剛存儲過的數據比較快。

  這裏介紹一箇“頁高速緩存(pge cche)&dquo;的概念,它是Linux內核所使用的主要磁盤高速緩存,主要用來減少對磁盤的I/O操作,具體地講,是通過把磁盤中的數據緩存到物理內存中,把對磁盤的訪問變爲對物理內存的訪問,而從內存訪問數據比從磁盤訪問速度更快。

  需要注意的是,上面用來做緩存所佔用的內存是可以通過指令隨時釋放的,可以認爲這部分內存沒有實際被使用,也可以認爲它是空閒的物理內存。

  很多新手朋友對自己購買的Linux VPS服務器的內存總是佔用過多而擔心,其實是沒有必要的。我們一般看內存到底夠不夠用,需要看swp的佔用率,swp的佔用率過高,纔有可能是內存不夠用了。