2008-10-26 22 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统计。