中午在装着CentOS的笔记本上把 Oneinstack 跑起来然后去上班了,本来等着下班回来用的,回来之后发现是关机状态,环境也没有装好。
查看日志,找不到相关信息,甚至还以为是被入侵了。又试了几遍,每次都自动关机,根本无法安装到最后。
可以肯定,原因是CPU使用率过高,笔记本过热,自动关机保护。
打开 oneinstack/install.sh 看了看,顺着找到 oneinstack/include/php-7.1.sh ,里面有一行
make ZEND_EXTRA_LIBS='-liconv' -j ${THREAD}
一开始不知道make
的-j
参数是干什么用的,找了cpulimit、ulimit 等命令想限制 CPU 使用率,但是效果都不理想,还是自动关机安装失败。
就要放弃的时候,随便搜索了一把 make -j,发现这个参数的作用竟然是 指定CPU核数并行编译!
在 oneinstack/include/check_os.sh 中找到 THREAD 赋值的地方
THREAD=$(grep 'processor' /proc/cpuinfo | sort -u | wc -l)
改成
THREAD=1
最终 Oneinstack 自动编译成功结束。