### node 开箱器内存泄漏修复 首先,把这个目录里的那个 opener.js 下下来,存到 node 开箱器的文件夹里。 opener.js 的效果是 筛选 2% cqd 39 以上的号,你可以在代码里修改精度、阈值、甚至是靶子,来适配你自己的需求。 然后在开箱器目录里新建一个 ps1 脚本(比如叫做 `start.ps1`),粘贴以下内容: ```powershell [string]$filein = Read-Host "Input file name" if ( Test-Path -Path $filein -PathType Leaf ) { [string]$fileout = Read-Host "Output file name" $msr = Get-Content $filein | Measure-Object -Line [int]$lim = $msr.Lines + 25 [int]$cur = 1 while ( $cur -lt $lim ) { ./node.exe opener.js $filein $cur 20 $fileout $cur += 20 } Write-Host "Done! Exiting..." $null = [System.Console]::Readkey() } else { Write-Host "No such file! Exiting..." $null = [System.Console]::Readkey() } ``` 这个脚本的作用是每开 20 个号重启一次开箱器,开完为止。把总行数 +25 是为了留一定的容错,(其实没什么必要,但是有一点心理安慰的作用)。 每次开的号数也可以自己改。频繁的重启可以减少内存占用(实测 20 个 2% cqd 大约占用 150MB RAM,但变化显然不是线性的),由于开箱器每次重启都要从头重新读一遍输入文件,过小的 batch size 会影响重启速度,请自己权衡。 脚本保存完之后用 powershell 运行(一般是直接双击,不行的话自行搜索解决办法),然后按提示使用即可。可以多开。