这是一篇比较简单的实用型文章。
在项目中,有时需要获得某个程序所占的内存。
例如,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];
通过第二行的实际值来获取到进程所占的内存量。