如何找到最大并行执行限制?

Sas*_*Sas 5 process parallelism

并行执行有什么限制吗?如果是,如何找出最大限制?

我正在创建一个脚本,它创建一串由 '&' 连接的脚本,并使用 eval 将它们一起执行。像这样的东西:

scriptBuilder="ksh -x script1.sh & ksh -x script2.sh & ksh -x script3.sh";
eval $scriptBuilder;
Run Code Online (Sandbox Code Playgroud)

只想确定服务器上并行执行的最大限制是多少。

Gil*_*il' 6

该命令ulimit -u显示您可以启动的最大进程数。但是,实际上不要在后台启动那么多进程:您的机器会花时间在进程之间切换,而无法完成实际工作。

对于 CPU 密集型任务,运行与您机器上的内核数量一样多的任务,或多一个。这是如果有足够的 RAM 来容纳所有这些进程及其文件缓存:如果并行进程竞争 I/O 带宽以不断重新加载它们的数据,它们的运行速度将比顺序运行它们的速度慢。您可以/proc/cpuinfo.

每个处理器运行一项任务的简单方法是使用GNU 并行

如果任务受 I/O 限制并使用相同的外围设备(例如,它们访问同一磁盘上的文件),通常最好按顺序运行它们。