php 8.6 的 opcache.jit_buffer_size 推荐设为 64mb–128mb,依业务负载而定:低流量用 64mb,web api/cms 选 96mb,计算密集型可设 128mb(需监控实际使用率);务必通过 opcache_get_status() 验证真实内存占用,并联动调整 jit_hot_func、jit 模式及 opcache.memory_consumption 等参数,同时注意 fpm 多进程下的内存叠加效应。

PHP 8.6 的 opcache.jit_buffer_size 推荐设在 64MB 到 128MB 之间,具体取决于你的应用类型和服务器资源。
按场景选值更稳妥
不同业务负载对 JIT 缓存的需求差异明显,硬套默认值容易引发内存浪费或频繁淘汰:
- 低流量网站 / 内部工具:64MB 足够。JIT 编译函数少,缓冲区用不满,还能避免 FPM 进程内存飙升
- 标准 Web API 或 CMS(如 Laravel、WordPress):建议 96MB。兼顾热点函数编译与多 Worker 进程的总开销
- 计算密集型服务(数学处理、批量 JSON 解析):可设为 128MB,但需同步监控实际使用率,避免超过物理内存余量
别只看配置值,要看真实占用
设置后必须验证是否“真用得上”,否则只是空占内存:
- 用
opcache_get_status()查 JIT 实际使用量:$status['jit']['memory_usage']显示已用字节数,$status['jit']['function_count']看编译了多少函数 - 如果
memory_usage长期低于设定值的 30%,说明 buffer 过大;若频繁接近上限并伴随op_array_cache_free接近 0,则可能触发重编译抖动
配合其他参数一起调才有效
单独调 jit_buffer_size 效果有限,需联动优化:
-
提高热函数阈值:设
opcache.jit_hot_func=32(默认是 8),减少低频函数被误编译 -
限制 JIT 模式强度:用
opcache.jit=1205替代激进的1255,平衡性能与内存开销 -
确认 OPcache 总内存足够:
opcache.memory_consumption建议 ≥ 256MB,否则 JIT 缓存会挤占字节码缓存空间
注意多进程下的叠加效应
每个 PHP-FPM worker 进程都独占一份 JIT buffer:
- 假设你设了 128MB,而 FPM 启动了 20 个子进程,理论峰值 JIT 内存就达 2.56GB(不含其他内存)
- 生产环境建议先压测:用
ab或wrk模拟并发请求,观察ps aux --sort=-%mem中 php-fpm 进程 RSS 是否稳定
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











