0
0
test/note/node-openbox-fix/README.md

1.6 KiB
Raw Blame History

node 开箱器内存泄漏修复

首先,把这个目录里的那个 opener.js 下下来,存到 node 开箱器的文件夹里。

opener.js 的效果是 筛选 2% cqd 39 以上的号,你可以在代码里修改精度、阈值、甚至是靶子,来适配你自己的需求。

然后在开箱器目录里新建一个 ps1 脚本(比如叫做 start.ps1),粘贴以下内容:

[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 运行(一般是直接双击,不行的话自行搜索解决办法),然后按提示使用即可。可以多开。