PHP常驻进程-内存暴涨

常驻进程-RSA加密公钥私钥RESOURCE没有释放导致内存暴涨

内存泄露往往是比较难查找的问题,借助bcc 的memleak工具可以初步判断是哪个类库导致的,知道了哪个类型,可以大概判断是业务流程中哪一部分的代码导致的

例如:RSA加密导致内存暴涨

用BCC工具会看到类似 /lib64/libcrypt.so.xxx分配了大量的内存,再根据业务到到RSA加密的地方,没有释放


$key = 'xx';

$rsaPri = "-----BEGIN PRIVATE KEY-----\n" .
    wordwrap($key, 64, "\n", true) .
    "\n-----END PRIVATE KEY-----";
$merchant_private_key = openssl_get_privatekey($rsaPri);
openssl_sign($md5str, $sign_info, $merchant_private_key);
$sign = base64_encode($sign_info);

//此处不能省略,如果不释放资源,则会导致内存暴涨
openssl_free_key($merchant_private_key);
posted @ 2023-01-12 17:34  sblack  阅读(175)  评论(0编辑  收藏  举报