8核的雲服務器,開了200個php-fpm進程,用top命令查看 大部分進程都在cpu 0 上跑着,導致其他cpu 負載很低,cpu分配不均勻;
使用shell 解決問題:
列出所有php-fpm 進程, 用 taskset 重新分配cpu
#!/bin/bash
CPUs=$(grep -c processor /proc/cpuinfo)
PIDs=$(ps aux | grep "php-fpm[:] pool" | awk '{print $2}')
let i=0
for PID in $PIDs; do
CPU=$(echo "$i % $CPUs" | bc)
let i++
taskset -pc $CPU $PID
done