Closed mduda100871 closed 1 year ago
Doplnění - bylo by velice dobré, kdyby se zároveň dalo ovlivnit, jakou instanci JVM spuštěný proces využije.
Aktuálně je to tak, že proces je spuštěn nad systémovou/globální instancí JVM což není vždy optimální a nepřišel jsem na to, jak lokálně přetížit globální JVM.
Hlavní vlákno K7 používá JVM nad kterým běží Tomcat, což se dá naopak snadno nastavit.
MD
Ahoj Martine, na definicich a spousteni procesu se mezi K5 a K7 nic zasadniho nezmenilo. Defaultni definice jsou stejne jako driv v sablonovem souboru lp.st, ktery je v /shared/common/src/main/java/cz/incad/kramerius/processes/res. Upravene definice se stejne jako driv vytvareji v .kramerius4/lp.xml. Tvoji definici procesu to ignoruje, protoze nemas spravne id procesu, ma to byt new_indexer_index_object
.
JDK, pod kterym maji procesy bezet, se nastavit neda, mozna namet na vylepseni ? - @pavel-stastny
Nejjednodussi reseni je ale pouzit Docker, kde muzes JDK definovat na urovni kontejneru.
Prikladam jeste deifnici tech novych indexacnich procesu, at to nemusis hledat v lp.st:
<process>
<id>new_indexer_index_object</id>
<description>(re)indexace objektu v novém vyhledávacím indexu</description>
<mainClass>cz.kramerius.searchIndex.NewIndexerProcessIndexObject</mainClass>
<standardOs>lrOut</standardOs>
<errOs>lrErr</errOs>
<javaProcessParameters>-Xmx1024m -Xms256m</javaProcessParameters>
<!--tohle neni definice ocekavanych parametru, ale hardcoded parametry pred temi predavanymi-->
<!--<parameters>duration processesInBatch finalState</parameters>-->
<checkErrorStream>false</checkErrorStream>
<securedaction>a_index</securedaction>
</process>
<process>
<!-- identifikator -->
<id>new_indexer_index_model</id>
<description>(re)indexace modelu v novém vyhledávacím indexu</description>
<mainClass>cz.kramerius.searchIndex.NewIndexerProcessIndexModel</mainClass>
<standardOs>lrOut</standardOs>
<errOs>lrErr</errOs>
<javaProcessParameters>-Xmx1024m -Xms256m</javaProcessParameters>
<!--tohle neni definice ocekavanych parametru, ale hardcoded parametry pred temi predavanymi-->
<!--<parameters>duration processesInBatch finalState</parameters>-->
<checkErrorStream>false</checkErrorStream>
<securedaction>a_index</securedaction>
</process>
Ahoj,
tušil jsem, že jsem to jen špatně nastavil, protože jsem neměl dostatek informací - vyzkouším.
Ohledně JDK - už jsem o tom před časem s Pavlem mluvil, ale v návalu jiných věcí to asi zapadlo, asi by bylo dobré to zařadit na TODO list.
MD
tak dobré, proces už se spustil s upravenými parametry :)
MD
@mduda100871 @vlahoda Jenom doplním, že Issue na nastavení vlastní JVM pro procesy je zde #957
prima, tak tohle muzem zavrit
Zdravím,
v K5 se používal pro nastavení parametrů spouštěných procesů konfigurační soubor
~/.kramerius4/lp.xml
.Využíval jsem ho zejména k nastavení velikosti heapu např. u indexovacího procesu.
Teď potřebuji nastavit velikost heapu u indexeru v K7, ale podle všeho se
lp.xml
buď už nepoužívá nebo používá/konfiguruje jinak.Vygrepoval jsem zdrojové kódy K7 jádra, ale jediný výskyt
lp.xml
jsem nalezl na cestě pro testy:kramerius/shared/common/src/main/test/lp.xml
Zkusil jsem nastavit parametry indexeru analogicky jako v K5 :
Ale jádro K7 to ignoruje - když spustím indexaci, tak proces má stále nastavené nějaké defaultní hodnoty, např. heap jen na 1GB.
Jaký je tedy správný postup?
Díky, MD