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

在Java中创建超过30gb的EC2实例,java,sdk,amazon-ec2,amazon,instance,Java,Sdk,Amazon Ec2,Amazon,Instance,当我构建一个EC2实例m1.small(例如)时,通过deafult我得到的是30gb而不是160gb 我在谷歌看到我需要添加临时存储/实例存储存储。。 就我的问题: 有没有办法使用JavaSDK添加临时存储? 如果我创建一个标准卷为160gb的实例(使用sdk),我会像创建一个常规实例并向其附加一个新卷一样收取费用 更一般地说,当他们编写一个实例有160gb时, 这意味着我只有30gb和另外140gb,我应该只用于我不介意丢失的临时文件 提前感谢。您不应该试图使堆大小远远大于主内存大小。AFA

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

我在谷歌看到我需要添加临时存储/实例存储存储。。 就我的问题: 有没有办法使用JavaSDK添加临时存储? 如果我创建一个标准卷为160gb的实例(使用sdk),我会像创建一个常规实例并向其附加一个新卷一样收取费用

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


提前感谢。

您不应该试图使堆大小远远大于主内存大小。AFAIK EC2不提供主内存超过160GB的机器(我可能错了)

如果你说的是这个例子

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的本地磁盘空间

好的,您可以作为常规文件访问存储

顺便说一句:Java在大型堆上执行完整GC可能需要越来越长的时间。根据您的系统,最糟糕的时间可能是每1-4 GB 1秒。您可以预期,一个拥有160 GB堆的系统可以在40秒内停止全球地面军事系统

出于这个原因,经常会探索堆外选项,例如使用数据库、BigMemory或使用直接内存/内存映射文件