我有这个脚本来捕获网络上的IP,以便与历史数据包捕获进行比较,作为更大问题解决练习的一部分。
require 'date'
while true do
print "Enter bithday:"
date_string = gets.chomp
begin
date = Date.strptime(date_string, "%d.%m.%Y")
print "Your bithday: #{date}"
break
rescue
puts "You enter incorrect date"
end
end
我最初在两周前关闭了它,在上周中旬它运行的终端停止运转,因为电源外壳进程的内存使用量接近2GB。
我停下来重新启动它,今天早上我们再次使用1.2GB内存。
虽然不是特别关键,但我已将其修改为运行一次然后停止/启动自己,我有兴趣知道哪个元素导致内存泄漏以及我将来如何识别它。< / p>
答案 0 :(得分:2)
您可以尝试手动调用垃圾回收。我认为do
/ until
循环是个好地方:
DO
{
foreach($comp in $comps)
{
ECHO "$(qp $comp);$comp" >>"C:\PacketCapture\IP_$(Get-date -format HHmm-ddMMyy).txt"
}
Start-sleep 3600
[GC]::Collect()
}
until($null -eq "WANG")
答案 1 :(得分:-1)
尝试使用[System.GC]::Collect()