我在 /home/apps/java 的 unix 系统上部署了 java。导出 JAVA_HOME="/home/apps/java"
有一些 shell 脚本使用以下命令并行运行(目前:5 个):$JAVA_HOME/bin/java -Xmx512M com.home.prac.SendNotification
Java 程序执行 db 操作并发出通知。这里创建了几个对象,每个执行峰值堆到大约 300 MB。我没有在这里共享代码,因为我的查询与它无关。因此,我刚刚介绍了目的。我的理解是,将启动 JVM 的独立独立进程来执行 Java 程序。它们有各自独立的堆和内存分配。
但是,我坚持以下查询:
- 考虑到它们都占用 300 MB 的堆空间,我可以运行多少个这些并行实例?
- 应该有一个最大上限(在操作系统级别),在一定数量的实例后冻结?
- 我不能直接启动 100 或 1000 个并行进程吗?
- 我有一个后续问题,但想先在这里澄清这个概念。