Я пытаюсь запустить программу java, которая использует WEKA libraries
на cluster
.Как сохранить состояние java-программы и забрать его позже?
Этот кластер истекает после заданий после 12 часов, и я не могу изменить этот факт, потому что я студент и не отвечаю за кластер.
Что я хочу сделать, это сохранить состояние моего JVM и перезагрузить его. В принципе закройте программу на время и заберите, где я остановился.
Возможно ли это?
Я не думаю, что могу (легко, по крайней мере) вывести состояние переменных в самих объектах WEKA в файл с OOS и перезагрузить их, потому что я использую библиотеки WEKA, и это будет чрезвычайно сложно переписать код для этих программ машинного обучения. (хотя это может быть то, что я должен сделать)
Я пробовал использовать библиотеку под названием javaflow
, которую, как я думал, может прочитать, может сделать это, но я не могу заставить ее работать. Когда попытка сделать его счетный пример я встретился с этой ошибкой:
Apr 20, 2016 9:15:12 PM org.apache.commons.javaflow.bytecode.StackRecorder execute
SEVERE: stack corruption. Is class test_javaflow.MyRunnable instrumented for javaflow?
java.lang.IllegalStateException: stack corruption. Is class test_javaflow.MyRunnable instrumented for javaflow?
at org.apache.commons.javaflow.bytecode.StackRecorder.execute(StackRecorder.java:102)
at org.apache.commons.javaflow.Continuation.continueWith(Continuation.java:170)
at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:129)
at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:102)
at test_javaflow.Test_Javaflow.main(Test_Javaflow.java:16)
погуглить эту ошибку придумали несколько страниц, относящихся к чему-то называется JasperSoft, что я абсолютно уверен, это не то, что я ищу для.
Вы пытались запустить JVM на виртуальной машине? Поскольку инструменты виртуализации, такие как Vmware и VirtualBox, обеспечивают решение для сохранения состояния всей машины. Вы можете запустить машину и сохранить состояние, а через несколько дней просто загрузите ее как есть. – 11thdimension
Возможно дублируется с http://stackoverflow.com/questions/611134/can-the-jvm-provide-snapshot-persistence. –
Я еще не попробовал запустить его на виртуальной машине. Полагаю, это возможно. Я должен спросить ответственного за кластер. –