创建超过30gb的EC2实例 - 在Java中

时间:2012-12-12 09:37:57

标签: java sdk amazon-ec2 amazon instance

当我构建一个EC2实例m1.small(例如)时,通过deafult我得到30gb而不是160gb。

我在google中看到我需要添加临时存储/实例存储空间.. 我的问题: 有没有办法使用java sdk添加临时存储? 如果我创建一个标准卷160gb的实例(使用sdk),我会收费,好像我正在创建一个常规实例并为其附加一个新卷?

更一般地说,当他们写一个实例有160gb时, 这意味着我只有30gb和另外140gb,我只能用于临时文件,我不介意丢失?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您不应该尝试使堆大小远大于主内存大小。 AFAIK EC2不提供超过160 GB主内存的机器(我可能错了)http://aws.amazon.com/ec2/instance-types/

如果你在谈论这个实例

M1 Small Instance – default++

1.7 GiB memory
 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)
 160 GB instance storage
 32-bit or 64-bit platform
 I/O Performance: Moderate
 EBS-Optimized Available: No
 API name: m1.small

这样可以使用大约1.2到1.5 GB的堆和160 GB的本地磁盘空间。

AFAIK,您可以将存储作为常规文件访问。

BTW:Java可能需要更长的时间才能在大堆大小上执行Full GC。根据您的系统,最差时间可能是每1-4 GB 1秒。您可以预期具有160 GB堆的系统可以看到40秒的世界级GC。

出于这个原因,经常探讨关闭堆选项,例如使用数据库,BigMemory或使用直接内存/内存映射文件。