在Amazon EC2实例上获取服务器内存使用情况

时间:2014-02-17 07:22:16

标签: java linux tomcat amazon-ec2 centos

我们在 Amazon EC2 实例服务器上运行我们的J2EE应用程序,该服务器是 m1.large 实例 配置为

Instance Family    
Instance Type   Processor   Arch        vCPU    ECU Memory (GiB)    Instance Storage (GB)   EBS-optimized Available Network Performance

General     purpose     m1.large    64-bit  2   4   7.5 2 x 420 Yes     Moderate

现在,当我查看服务器的内存使用情况时,我发现可用内存为0,如下所示

             total       used       free     shared    buffers     cached
Mem:             7          6          0          0          0          5
-/+ buffers/cache:          1          5
Swap:            0          0          0

在调查服务器上的位后,我得到了以下详细信息......

Process Name    Number of processes Memory usage per process    Total memory usage 
java            2           523.379 MB          1046.76 MB
httpd           24          3.47965 MB          83.5117 MB
memcached       1           13.7227 MB          13.7227 MB
sshd            3           2.91016 MB          8.73047 MB
rsyslogd        1           5.51953 MB          5.51953 MB
pickup          1           3.25781 MB          3.25781 MB
udevd           2           1.24805 MB          2.49609 MB
master          1           2.84375 MB          2.84375 MB
qmgr            1           2.77734 MB          2.77734 MB
crond           1           1.30078 MB          1.30078 MB
auditd          1           0.789062 MB         0.789062 MB

1.5 GB 的总用法现在我无法理解 5.33 GB 的位置打算用 我怎样才能找到有关它的详细信息,有人可以帮我解决这个问题

注意: 我们在同一台服务器上运行两个tomcat用于质量检查和生产

Apatche 2

Tomcat版本 7(两者兼备)

Memcached :为了获得更好的效果

先谢谢..

2 个答案:

答案 0 :(得分:2)

美国内核保留所有内存并根据请求和需求开始分配给应用程序。所以剩下的所有内存都被分配了缓冲区和缓存,内核可以在任何给定的时间使用它来获取有关内存利用率的更多信息cat /proc/meminfo

答案 1 :(得分:1)

由于free命令的输出如上所示,缓存了5 GB的数据。这是硬盘的一部分,它被缓存在RAM中。 Linux将在应用程序需要时释放内存。有关详细信息,请参阅此answer。信任linux,他知道内存管理并将释放缓存空间,因为应用程序需要RAM。