ruby-on-rails - 如何解释内存使用数据?

标签 ruby-on-rails memory-management vps

有人可以用实际的方式解释这一点吗?示例表示使用 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

最佳答案

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

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

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

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

  • 您的看法:网站在您使用时是否正常运行?
  • 基准测试:您的客户看到的响应时间是多少?
  • 更细粒度的诊断:
  • 顶部:您可以实时查看哪些进程正在使用内存和 CPU
  • vmstat:它产生这种输出:

  • alex@armitage:~$ vmstat 1
    procs -----------内存----------- ---swap-- -----io---- -system-- ----cpu-- ——
    r b 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 上的数字很高,所以)并且更容易查看性能随时间变化的统计数据。

    关于ruby-on-rails - 如何解释内存使用数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/237405/

    相关文章:

    ruby-on-rails - 为什么我得到 "including Capybara::DSL in the global scope is not recommended!"

    ruby-on-rails - Docker:Nginx - [emerg] 在上游找不到主机

    ruby-on-rails - 添加设计胡椒后,现有用户无法登录生产

    c - 在C中动态创建数组,一次接收1个字符

    ruby-on-rails - 如何在 Ubuntu 11(在 VPS 服务器上)上使用 Apache2 安装Passenger 3.0.11?

    linux - Apache 2 : Failed to set up mount namespacing: Permission denied

    ruby-on-rails - Rails Cancan 自定义操作

    c++ - 在被删除的对象内部动态分配对象会发生什么?

    java - Java内存模型的实现?

    mysql - Centos启动时不自动启动MySql