Eu coloquei um "tratamento" temporário para o problema que não é de forma alguma. Eu ainda estou absolutamente procurando a fonte real do problema.
Manipulação temporária
Eu criei um script Powershell que é executado em chron, que encontra todas as instâncias do firefox executando quantidades excessivas de memória, envia mensagens ao usuário e depois mata o processo.
foreach ($comp in $args) {
$size = 4000000000
$owners = Get-WmiObject -ComputerName $comp -Query "Select * from Win32_Process where WorkingSetSize > $size and name = 'firefox.exe'" | Select @{Label='Owner';Expression={$_.GetOwner().User}}
foreach ($i in $owners) {
$is = $i.Owner
$msg = 'AUTOMATED MESSAGE: Your web browser was using an excessive amount of memory and has been closed to prevent it from overloading the server. You can open it again right after this.'
$cmd = "msg.exe $is /SERVER:$comp '$msg' "
Invoke-Expression $cmd
}
Invoke-Command -ComputerName $comp {Get-Process | Where {($_.Name -eq "firefox") -and ($_.WorkingSet64 -gt 4000000000)} | Stop-Process -Force }
}
Para invocar:
.\kill.ps1 ts1 ts2 ts3 ts4 ts5