2012-12-12 21 views
2

当我建立一个EC2实例的m1.small(例如),由deafult我得到30GB,而不是160GB。比30GB更多的创建EC2实例 - 在Java

我在谷歌看到我需要添加临时存储/实例存储存储.. 对我的问题: 有没有办法使用java sdk添加临时存储? 如果我创建一个实例(使用SDK)与160GB的标准体积,我得到收取,如果我是创建常规实例,并附加一个新卷来的呢?

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

在此先感谢。

回答

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

据我所知,您可以访问存储作为普通的文件。

BTW:Java可以采取增加长的时间来对大型堆大小进行一个完整的GC。根据您的系统,最差的时间可能是1到4 GB。你可以预期一个160 GB的系统可以看到40秒的世界停止的GC。

为此,断堆选项常常探索诸如使用数据库,BigMemory或使用直接存储器/内存映射文件。