我正在使用流程生成器从Java执行python程序。创建了一个shell脚本文件,该文件设置了一些环境变量,然后执行python脚本。
Process p = Runtime.getRuntime().exec(executeAutoML.sh);
包含上述代码块的类将从Java调度程序(ScheduledExecutorService)中调用。
我的Linux机器的RAM约为30gb。
我的问题是:
python脚本用于分析目的。它将创建一些巨大的数据帧来处理数据。假设最大数据帧大小为(100万x 100)。 它可以使用系统RAM或JVM堆吗?
如果它使用系统RAm,那么如何查看RAM消耗?
由于它处理大量数据,我可以在JVM中得到OUTomemory错误吗? 信息:该程序在带有负载均衡器的WLS服务器(2个节点)中启动。
请提出处理此类用例的最佳方法。
谢谢, 维杰
答案 0 :(得分:0)
top
/ atop
/ Windows taskmanager之类的东西,它显示您的所有进程。您的python进程应单独显示。通常,对于如此庞大的数据任务,您要仔细检查是否有可能以较小的批次而不是一次全部处理数据。例如,如果您对不需要信息的数据行进行操作/不会影响其他行,则可以逐行加载,处理每一行并将其写入结果文件,然后再处理下一行。这样可以避免一次加载所有数据。