workerman的内存问题

yepo

htop的状态
截图
workerman php xxx.php status的状态
截图

通过htop查看,内存基本已被workerman进程占完,但是在status查询的却是和启动时一样没变化。

想问一下,workerman php xxx.php status查询的状态是实时的吗?
如果是,为什么会差别这么大。

小白

2962 1 1
1个回答

静默

top里占用内存看RES吧。

VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来

  • yepo 2020-02-07

    感谢大佬的详细回复。我发现原来是我开启了xdebug的原因。我的另一台服务器是一样的程序一样的配置没有安装这个扩展是没有问题的。

  • li3826373 2022-04-08

年代过于久远,无法发表回答
🔝