根据上面的答案,Q16版本的ImageMagick每个像素需要8个字节的内存空间。现在我使用Q16版本的ImageMagick,我有一个图像(XXX.jpg),大小为5680 x 3787(px)。下面是我的ImageMagick的PHP代码:
$file = "XXX.jpg";
$image = new Imagick();
$image->readImage($file);
$type = $image->getImageFormat();
$image->setFormat($type);
echo $image->getImagesBlob();
理论上,它应该占用5680 * 3787 * 8 = 172081280字节=大约164.11 MB的内存使用量。但我查看内存使用情况统计信息,虚拟内存使用量最多需要315.03 MB,物理内存使用量最多需要349.71 MB。使用量远高于我的预期。内存使用情况怎么了?有没有错误估计?
顺便问一下,如何计算ImageMagick的CPU使用率?
P.S。以下是我的ImageMagick的PHP信息: