我可以在一个双插槽主板上使用两个不同的 e5 24xx 还是必须使用相同的 CPU?
ESXi 5 中的 VM 配置对话框警告我,如果我在安装来宾操作系统后更改 vCPU 的数量,天就会塌下来 - 咳咳 - 它“可能会使我的虚拟机不稳定”。
我知道线程序列化中涉及的某些 CPU 指令在多处理器系统中需要 LOCK 前缀,但在单处理器系统中不需要(或至少不需要单核)。操作系统通常会在不需要的地方省略 LOCK。
如果操作系统使用省略 LOCK 的内核但使用多个 CPU,那么这将导致极度不稳定和难以隔离的错误。但是,如果内核是为一个处理器设计的,那么使用多个处理器(它必须有意识地这样做)有什么用?这似乎是一个完全荒谬的操作系统设计,我希望它在实践中不存在。
更合理的操作系统设计是在启动时检测 CPU 并相应地选择单处理器或多处理器内核。否则,唯一的其他合理设计将安装正确的内核,但单处理器内核将永远不会使用另一个处理器,因此除了根本不使用它之外,另一个 CPU 不会有任何危害。
应用程序软件可能会更容易遇到一些麻烦,因为即使在单核系统上也很容易使用多线程,因此如果不注意它在多处理器系统上并且没有锁定(或使用操作系统的设施)可能会导致可怕的错误。但是,任何严肃的软件都会有如此糟糕的设计,以至于只能在安装期间测试单/多处理器状态吗?
世界末日警告背后的原因是什么?我实际上应该在哪些操作系统或应用程序上(如果有的话)出现问题?
我写了一个shell脚本来同时启动三个后台进程。在 shell 脚本中,我试图等待所有孩子完成他们的工作,然后父工作终止。但是,出于某种原因,我看到睡眠过程永远不会醒来。
echo "Starting $1 instances" >> $logfile
for i in `seq 1 $1`
do
/usr/bin/php index.php name&
done
echo "Waiting for all $l instances to complete \n" >> $logfile
wait
echo "All $instances scripts completed" >> $logfile
Run Code Online (Sandbox Code Playgroud)