PHP:使用DOS命令获取指定进程的内存

这是一篇比较简单的实用型文章。

在项目中,有时需要获得某个程序所占的内存。

例如,PHP中想获得自身进程所占内存(仅包含程序自身申请分配的),可使用函数get_memory_usage()。它以 i n t int int形式返回以字节作单位的内存用量。

需注意,如果提供参数get_memory_usage(true),将返回分配给进程的所有内存量,而不仅仅是被使用的内存量。

但是,如果想获取其它进程的内存量,则需要借助命令来实现。在WIndows下,用于获取指定进程内存用量的wmic命令格式为:

wmic process [where] get workingsetsize

比如根据进程名称或PID获取:

wmic process where name="name" get workingsetsize
wmic process where processid="pid" get workingsetsize

输出的格式较特殊,为名称+值的形式,比如:

WorkingSetSize
4202496

于是,甚至在PHP中也能够使用:

exec("wmic process where name='name' get workingsetsize",$output);
echo $output[1];

通过第二行的实际值来获取到进程所占的内存量。

你可能感兴趣的:(PHP)