4

有人可以用实际的方式解释这一点吗?示例表示一个使用 Nginx 和 3 个 Mongrel 集群的低流量 Rails 站点的使用情况。我问是因为我的目标是了解页面缓存,想知道这些数字是否对该过程有重要意义。谢谢你。很棒的网站!

me@vps:~$ free -m
                   total       used       free     shared    buffers     cached
Mem:           512        506            6             0          15           103
-/+ buffers/cache:       387        124
Swap:         1023        113        910
4

2 回答 2

3

物理内存全部用完。为什么?因为它在那里,所以系统应该使用它。

您还会注意到系统正在使用 113M 的交换空间。坏的?好的?这取决于。

另请参阅有 103M 的缓存磁盘;这意味着系统已经决定最好缓存 103M 的磁盘并将这 113M 换出;也许您有一些进程正在使用未使用的内存,因此被分页到磁盘。

正如另一张海报所说,您应该使用其他工具来查看发生了什么:

  1. 您的看法:网站在您使用时是否正常运行?
  2. 基准测试:您的客户看到的响应时间是多少?
  3. 更细粒度的诊断:
    1. 顶部:您可以实时查看哪些进程正在使用内存和 CPU
    2. vmstat:它产生这种输出:
alex@armitage:~$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu-- --
 rb swpd 免费 buff 缓存 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

这将向您显示交换是否对您造成伤害(si 上的高数字,所以)并且更容易看到随时间变化的性能统计数据。

于 2008-10-26T10:42:15.507 回答
1

通过我的阅读,您几乎使用了所有内存,有 6 M 可用空间,并且将进入大约 10% 的交换空间。一个更有用的工具是使用 top 或 ps 来查看每个单独的 mongrel 在 RAM 中使用了多少。因为您要进行交换,所以您可能会遇到更多的减速。您可能会发现只有 2 个 mongrel 而不是 3 个实际上可能响应更快,因为它可能不会进入交换内存。

页面缓存肯定会在响应时间上有所帮助,所以如果您的页面是可缓存的(例如,它们没有个人用户独有的内容),我会说一定要检查一下

于 2008-10-26T04:03:29.053 回答