2017-05-10 134 views
2

所以我想知道是否有任何方法可以让更多的内存在Raspberry Pi上的程序3. 我有一个过程,需要76.7%的内存(这是一个tomcat服务器)和需要另一个像这样运行,所以我的树莓现在无法处理它。树莓派上的Ram

有没有一种方法可以使用别的东西作为ram来运行程序,或者在ram中虚拟转换sd卡的一部分(例如在Android上)。或者我们可以在物理上添加一个RAM模块?或者我们可以强制一个程序占用更少的内存吗?

预先感谢您!

+0

这不是一个编程问题。这个问题应该迁移到https://superuser.com/或https://raspberrypi.stackexchange.com/ – scai

+0

哦谢谢你,我不知道这些论坛 – JackA

回答

0

Raspberry Pi 3拥有1 GB的RAM,所以我认为它应该能够运行两个实例,具体取决于您的服务器在做什么。

Tomcat本身运行在JVM(Java虚拟机)上,因此您可以配置分配给它的内存量。尝试设置JAVA_OPTS环境变量以调整最大内存使用量。

根据您的设置,则应该通过添加一行如JAVA_OPTS="-Xmx512m"能够做到这一点/etc/default/tomcat*(其中*取决于你的Tomcat版本)。这个例子将为Tomcat分配最大512 MB的空间。

关于使用SD卡作为RAM的说明,称为交换内存。系统在内存不足时会自动执行此操作,但速度非常慢,应尽可能避免。

+0

除非以前配置,否则不会自动使用交换。您需要配置交换分区或交换文件。一些发行版会自动完成此操作,其他发行版则不会 – scai

+0

它正在运行一个非常重的Alfresco实例(我正在测试Rasp是否可以处理它)。我将尝试在我的java_opts中允许更少的空间,我目前处于1024这样可能会导致此问题。这就是交换空间!即使速度很慢,我认为它可能有用,这是否有限制?因为htop告诉我它的使用率为90% – JackA

+0

交换空间没有限制,你可以尽可能多地使用它。 'free -m'告诉你目前的交换使用情况是什么? – scai