我在这里运行一个 x64 暂存服务器以及以下内容:
Solr Java 等
但是,我即将购买一台 linode vps 用于生产,并很快意识到 x86 是他们最低 RAM 包的最佳选择(考虑稍后升级)。我的临时服务器是 x64,有 12GB RAM,因此降到 300MB RAM 会感觉非常慢 ;/
以下是我的问题:
1) 将脚本、数据库等从 x64 服务器转移到 x86 服务器时会遇到问题吗?例如 solr 索引
2) 值得购买 x86 软件包吗?我可能稍后会升级,而 x64 可能更适合具有更多 RAM 的服务器?我是否应该坚持使用 x64,因为在低 RAM 下使用时没有太大区别?
干杯
柯
答案1
在这种内存受限的环境中启动 jvm 可能会遇到麻烦。
移动索引不会有任何问题,所有 Lucene 文档都是字节序不可知的,并且不是字对齐的。我唯一遇到困难的从 32 位移动到 64 位的软件包是 rrdtool 档案的集合,它使用机器的原生字长。
请记住,在 x86-64 下,每个指针都是 long,即 8 个字节。在 JVM 上,任何时候都有数十万个对象引用在运行,因此这会累积起来。
答案2
当只有 300 MB 可用时,您几乎肯定会遇到内存问题;即使您剥离服务器操作系统,您也不可能使用超过 250MB 的 Java 堆来运行,而且最有可能的是,您会被限制在 200 MB 或更少。
您可以将 jconsole 指向您的 JVM,查看您当前正在使用的内存,并查看它是否在正确的范围内。
如果您真的想确定,您可以使用建议的系统配置(300 MB RAM,等等)设置一个虚拟机,看看是否可以运行该应用程序;这样您就不会去猜测了。