簡體   English   中英

來自匹配運算符的Perl內存泄漏

[英]Perl memory leak from match operator

在調查長時間運行的perl程序以檢查內存泄漏時,我嘗試使用Test :: LeakTrace

查看泄漏之一,它報告我可以將泄漏代碼縮小為:

/$?/

這樣運行: perl -MTest::LeakTrace::Script -e'/$?/'打印:

從-e第1行泄漏了SCALAR(0x10d3d48)。

為什么會這樣,我需要擔心嗎?

更新:還嘗試了Devel :: LeakTrace :: Fast ,它不是在抱怨相同的代碼。

假設您有泄漏。 然后這樣:

perl -e'/$?/ for 1..1E9'

應該使您的過程在內存中增長

 ps -o rss,vsz <PID>

就我而言,它一直保持穩定。 您應該檢查它的設置。 您的模塊檢測到的泄漏可能是一些后期破壞。 您可以給模塊作者寫一個注釋,以幫助您弄清其輸出,可以幫助他們改進它。

順便說一句,對我來說,確認“沒有泄漏”的另一件事是

 perl -MTest::LeakTrace::Script -e'/$?/ for 1..1000'

我看不到多個泄漏的標量,只有一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM