Flow'n muistin käyttö ja vaatimukset
Tällä sivulla kerrotaan Flow'n muistin käytöstä Flow-palvelimella, ei yksittäisillä työasemilla.
Flow-asennuksen oletusarvoilla palvelin ajaa Flow'ta todennäköisesti riittävällä muistin määrällä. Jos raskaissa operaatioissa (esimerkiksi isot tuonnit) Flow'n muisti kuitenkin loppuu, katso oheiset ohjeet.
Java-sovellukset (kuten Flow) suoritetaan Java Virtuaalikoneessa (Java Virtual Machine, JVM), eikä suoraan käyttöjärjestelmässä. Käynnistäessään Flow-palvelun JVM asettaa muistinkäytölleen tietyn kiinteän maksimimäärän. Tämän virtuaalimuistin määrän oletusarvo on ensiasennuksessa yleensä 1.5 GB.
Jos muisti ei riitä, mm. Flow'n massaoperaatiot saattavat jäävät kesken. Pääkäyttäjä pystyy muuttamaan eli käytännössä kasvattamaan maksimimuistin arvoa (palvelimen RAM-muistin määrän rajoissa) oheisten ohjeiden avulla.
Flow'n maksimimuistin muuttaminen Edit Service -toiminnolla
Jos asennuksen yhteydessä palvelimen työpöydälle luotiin Edit Service -pikakuvake
Käynnistä toiminto ja valitse Java-välilehti.
Kuvassa Javan maksimimuistin (Maximum memory pool / Maximum heap size) määräksi on asetettu 1536 MB
Flow'n maksimimuistin muuttaminen muokkaamalla rekisteriarvoja (Windows 64-bit)
Jos em. pikakuvaketta ei ole, muuta muistin maksimiarvoa muokkaamalla rekisteriarvoja.
Tomcat-palvelu löytyy Windows Registryn polusta:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\<Vertex*ServiceName>\Parameters\Java]
eli esim.
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ApacheSoftware Foundation\Procrun 2.0\VertexFlow20160921-092803\Parameters\Java]
Kuvassa Javan maksimimuistin määräksi on asetettu JvmMx=0x00000600 eli 1536 MB
Flow'n maksimimuistin muuttaminen (Linux)
Linux-puolella Javan maksimimuistin määrä asetetaan skriptissä
tomcat/start_tomcat2.sh
jossa muistin maksimimääräksi asetetaan esimerkiksi 1536 MB seuraavasti:
JAVA_OPTS="-Xms128m -Xmx1536m"
Mikä on paras arvo muistin maksimimääräksi
Optimaalinen Javan maksimimuistin määrää riippuu monesta asiasta (muut palvelimen prosessit ja niiden muistin käyttö, Flow'n käyttäjien määrä, Flow'n massatoimintojen määrä jne...). Yksiselitteistä optimiarvoa ei voida ohjeistaa, mutta nyrkkisääntönä on ettei arvo saa olla liian pieni eikä enemmän kuin puolet palvelimen RAM-muistin määrä.