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);
内存泄露往往是比较难查找的问题,借助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);
PHP中常见的问题点,知识点,及盲点。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步