Na prvním místě hodit autorům MongoDB na hlavu resource leak
to nie je memory leak ale featura (kedze sa to sprava pseudo in memory databaza)
featura ktora sa da na linuxoch vyriesit bez problemov
ako mozem ako koncovy user spustis proces s obmedzenou pamatou? vy ste uviedli api ale ja ako end user setprocessworkingsetsize nemam ako pouzit
Ad featura - bez možnosti jakéhokoliv nastavení? To MongoDB prostě zkouší alokovat, dokud mu OS dá paměť? Fakt super přístup
Ad ako mozem ako koncovy user spustis proces s obmedzenou pamatou - třeba můžete v PowerShellu zavolat SetProcessWorkingSetSize:
Function TrimWorkingSet {
param([int] $procid)
param([long] $minws)
param([long] $maxws)
$sig = @"
[DllImport("kernel32.dll")]
public static extern bool SetProcessWorkingSetSize( IntPtr proc, int min, int max );
"@
$apptotrim = (get-process -Id $procid).Handle
Add-Type -MemberDefinition $sig -Namespace User32 -Name Util -UsingNamespace System.Text -PassThru
[User32.Util]::SetProcessWorkingSetSize($apptotrim,minws,maxws)
}
Technicky vzato můžete totéž udělat třeba z makra v Excelu
BTW uživatel musí mít privilege SeIncreaseWorkingSetPrivilege. V secpol.msc větev Security Settings, Local Policies, User Rights Assignment, položka Increase a proces working set. Ale mám za to, že SeIncreaseWorkingSetPrivilege má každý uživatel by default.