phar 打包之后 每个进程所占内存都和包大小一致

FlyLow

问题描述

本地跑平均每个都 7M 左右 打包到线上单个进程就直接和 phar 包大小一样是为什么,有大佬知道解决方案吗?
截图
截图

本地截图
截图

484 1 0
1个回答

walkor

把不必要的文件删除,然后打包

  • FlyLow 2023-06-06

    文件体积大主要是vendor依赖多 大概50M左右,但是我不理解的是为什么每个进程都和包体积一样,每个进程都是整个包的分身这种意思吗

  • walkor 2023-06-06

    打包后会一次性将整个包载入内存运行

  • FlyLow 2023-06-06

    每个进程都会载入一次包吗?目前看进程的内存占用 好像每个进程都完整的载入了包

  • walkor 2023-06-06

    父进程载入整个包,然后fork出多个子进程,每个子进程起始占用内存与父进程相同

  • FlyLow 2023-06-07

    好吧 和我理解的差不多 怪不得每个进程初始大小都一样

🔝