当我通过 shell 启动一个具有高内存使用率(“-Xmx52g”)的 java 程序时,一切都运行良好。但是,如果我通过 CRON 使用相同的命令和相同的用户启动相同的程序,几秒钟后我会收到 java.lang.OutOfMemoryError。
此外,只要我不杀死被阻止的 java 程序,CRON 就无法执行任何操作。无论应该启动哪个 cronjob,它总是在 syslog 中以“(CRON) 错误(无法 fork )”结束。终止 java 程序后,所有新的 cronjobs 再次正常工作。
该问题仅出现在 Ubuntu 16.04 上,所有旧版本都运行良好。这是错误还是新的安全功能?我没有找到关于这个问题的任何信息,所以我希望任何人都可以提供帮助。
最佳答案
您需要更多 RAM 或大小才能启动它
http://javarevisited.blogspot.com/2011/09/javalangoutofmemoryerror-permgen-space.html
关于java - OOM 使用 CRON 但不使用 SHELL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37279259/