实际上,我在共同托管服务器上使用PHP 5.6.3只有一个池。有时,我的 php-fpm 进程坚持 50% 的 WA我无法杀死它,甚至无法重新启动我的虚拟机。
我正在使用 245MB/3968MB,我的交换空间没有使用。
现在我没有任何线索,因为我什么也看不见,除了我的WA 陷入困境当我尝试逐个终止我的进程时,只有一个进程卡住了,我的php-fpm:池开发过程。
我在 iotop 或磁盘图上什么都看不到。目前我唯一能修复这个问题的方法是重置电源……
top 命令
top - 16:22:39 up 2 days, 1:06, 4 users, load average: 2,00, 1,96, 17,02
Tasks: 90 total, 1 running, 89 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,2 us, 0,2 sy, 0,0 ni, 50,0 id, 49,7 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem: 4063552 total, 1270532 used, 2793020 free, 230532 buffers
KiB Swap: 731132 total, 0 used, 731132 free, 788548 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18487 root 20 0 71264 3720 2920 S 0,3 0,1 0:00.54 sshd
1 root 20 0 10648 832 692 S 0,0 0,0 0:01.96 init
2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0,0 0,0 0:01.25 ksoftirqd/0
5 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kworker/u:0
6 root rt 0 0 0 0 S 0,0 0,0 0:00.04 migration/0
7 root rt 0 0 0 0 S 0,0 0,0 0:00.75 watchdog/0
8 root rt 0 0 0 0 S 0,0 0,0 0:00.02 migration/1
10 root 20 0 0 0 0 S 0,0 0,0 0:01.34 ksoftirqd/1
11 root 20 0 0 0 0 S 0,0 0,0 0:00.10 kworker/0:1
12 root rt 0 0 0 0 S 0,0 0,0 0:00.57 watchdog/1
13 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 cpuset
...
3455 www-data 20 0 362m 111m 53m D 0,0 2,8 0:22.88 php5.6-fpm
iostat
avg-cpu: %user %nice %system %iowait %steal %idle
0,23 0,06 0,14 12,93 0,00 86,64
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,06 0,32 0,18 0,54 2,44 4,15 18,33 0,00 4,89 5,19 4,78 2,22 0,16
php-fpm.conf
[global]
pid = run/php-fpm.pid
error_log = /var/log/php5.6-fpm.log
include=/etc/php5.6/fpm/pool.d/*.conf
池 PHP
[dev]
user = www-data
group = www-data
listen = 0.0.0.0:60256
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
pm = dynamic
pm.max_children = 64
pm.start_servers = 28
pm.min_spare_servers = 8
pm.max_spare_servers = 64
pm.status_path = /phpfpmstatus
ping.path = /phpfpmping
ping.response = pong
access.log = /var/log/fpm-php/$pool.access.log
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
slowlog = /var/log/fpm-php/$pool.log.slow
request_slowlog_timeout = 120s
chdir = /
security.limit_extensions =
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/fpm-php/$pool-error.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 2000M
php_value[memory_limit] = 2000M