我的交换大小应该为零还是我误解了输出?

我的交换大小应该为零还是我误解了输出?

我们正在运行 Amazon EC2 R3 实例,因此有 30G 内存可用。我们正在运行 5 个 Apache Tomcat(版本 7)。根据lsb_release -aUbuntu 的版本是:Ubuntu 14.04.2 LTS

Tomcat 不断因未知情况而在此机器上终止。此机器足以运行许多 Tomcat,并且在单个 Tomcat 终止后,运行免费-h显示至少有10G可用。

当我运行命令 cat/proc/swaps 时显示以下内容:

cat /proc/swaps
Filename                                Type            Size    Used    Priority

这是否意味着没有交换分区?运行 swapon 命令会显示相同的输出:

swapon -s
Filename                                Type            Size    Used    Priority

运行 top 命令显示:

Swap:        0 total,        0 used,        0 free.

那么这些结果是否表明当进程需要时没有可用的交换,或者是否表明当前没有使用交换?

答案1

只要有可用内存,系统就永远不会使用交换。事实上,系统中应尽可能避免交换...

另一方面,就你的情况而言,似乎你没有交换分区。否则你应该看到类似这样的内容:

$ swapon -s 
Filename                Type        Size    Used    Priority
/dev/sdb1                               partition   1952764 0   -1

答案2

如果我是你,我会使用多个较小的 EC2 实例 (t2 mini-micro),每个实例用于专用 tomcat,并使用 EBL (弹性负载均衡器) 和 ASG (自动缩放组) 进行专用托管。只要考虑多个 apache,它将提供更强大的软件包,并且更具成本效益。

相关内容