我们正在运行 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,它将提供更强大的软件包,并且更具成本效益。