你好,我在节点js中发生内存泄漏,这种泄漏仅在生产于Ubuntu 18.04.3 LTS的vps上的生产模式下发生。在Windows 10的开发人员模式下,不会发生内存泄漏。 linux上有问题的代码如下:
async compressImage(
imageLocation: string,
outputWidth: number,
quality = 60,
):Promise<Buffer> {
try {
const file: any = await Jimp.read(imageLocation);
const buffer: Buffer = await file
.resize(outputWidth, Jimp.AUTO)
.quality(quality)
.getBufferAsync(Jimp.MIME_JPEG);
return buffer;
} catch (err) {
throw new Error(err);
}
}
此函数在for循环中运行3次。