2008-10-26 57 views
4

有人可以用實際的方式解釋這個嗎?示例表示使用Nginx和3個Mongrel集羣的一個低流量Rails站點的使用情況。我問,因爲我打算了解頁面緩存,想知道這些數字是否對這個過程有重要意義。謝謝。偉大的網站!如何解釋內存使用情況數字?

[email protected]:~$ free -m 
        total  used  free  shared buffers  cached 
Mem:   512  506   6    0   15   103 
-/+ buffers/cache:  387  124 
Swap:   1023  113  910 

回答

1

通過我的這種解讀,您使用幾乎所有你的記憶,有6米自由,並進入你掉約10%。更有用的工具是使用top或者ps來查看你的每個單獨的雜種在RAM中使用的數量。因爲你要進入交換,你可能會變得更慢。你可能會發現只有2個mongrels而不是3個可能會更快地響應,因爲它可能不會進入交換內存。

頁面緩存將肯定有助於在響應時間t,因此,如果您的網頁被緩存(例如,它們不具有的內容是個人獨有的用戶),我會肯定地說檢查出來

3

物理內存全部用完。爲什麼?因爲它在那裏,系統應該使用它。

您還會注意到系統正在使用113M的交換空間。壞?好?這取決於。

另請參閱有103M的緩存磁盤;這意味着系統已經決定緩存103M磁盤並換出這113M更好;也許你有一些使用內存的進程沒有被使用,因此被分頁到磁盤。

至於其他的海報說,你應該使用其他工具來看看發生了什麼:

  1. 您的看法:就是當你使用它的網站appropiately運行?
  2. 標杆分析:您的客戶看到什麼響應時間?
  3. 更細粒度的診斷:
    1. 頂部:你可以看到現場哪些進程使用的內存和CPU
    2. vmstat的:它會產生這樣的輸出:
 
[email protected]:~$ vmstat 1 
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- 
r b swpd free buff cache si so bi bo in cs us sy id wa 
2 1 71184 156520 92524 316488 1 5 12 23 362 250 13 6 80 1 
0 0 71184 156340 92528 316508 0 0  0  1 291 608 10 1 89 0 
0 0 71184 156364 92528 316508 0 0  0  0 308 674 9 2 89 0 
0 0 71184 156364 92532 316504 0 0  0 72 295 723 9 0 91 0 
1 0 71184 150892 92532 316508 0 0  0  0 370 722 38 0 62 0 
0 0 71184 163060 92532 316508 0 0  0  0 303 611 17 2 81 0 

這會告訴你swap是否會傷害你(si上的數字很高,所以),並且更容易看到performance-over-time統計。