2013-02-14 67 views
-2

我有一些關於linux的研究。其中一個問題如下:Linux免費命令含義

'在運行的系統上,free列中free命令的輸出對前兩行是相同的嗎?你怎麼能強迫這件事?「

我轉過身去,我相信我已經找到了這些值的含義。 如果我將緩衝區和緩存添加到一起,並將其添加到空閒狀態,它會爲我提供緩存和緩存的空閒值。這意味着,如果需要,應用程序可以使用的內存如此。

所以,我想可能是這兩個值的值可能相同,這取決於用法。但是,我不知道我怎麼可能

回答

4

第一行和第二行之間的區別是第一行是不計數緩存和緩衝區在免費列下,而第二行。這裏有一個例子:

    total  used  free  shared buffers  cached 
[1] Mem:  4028712 2972388 1056324   0  315056  835360 
[2] -/+ buffers/cache: 1821972 2206740 


used[2] = used[1] - buffers - cached 
free[2] = free[1] + buffers + cached 

所以回答你的問題是:有可能是這兩行是相同的一個真實的系統(或者至少非常接近對方),但不太可能,因爲它需要你釋放/耗盡所有的緩存。如果您願意嘗試,請嘗試how to drop cache的一些建議或編寫一個可以消耗所有可用RAM的程序。