View Full Version : Limite de aplicações abertas


christof
12-04-2007, 17:42
Boas.

Será que alguém sabe o porquê de o windows ter um limite de aplicações abertas ao mesmo tempo.
Explicando melhor o meu caso eu estou a usar um programa que consome muitos recursos, e tenho que abrir várias programas iguais no mesmo comp. O que acontece é quando abro um dado numero de programas em simultaneo chego a um ponto que o windows não deixa abrir mais nada (inclusive o explorador do windows ou o terminal de consola). Isso acontece mesmo que a RAM da máquina esteja muito pouco ocupada. Por exemplo tenho 2Gigas de RAM e vou abrindo programas até não conseguir abrir mais nada, e quando vou ver a memória ocupada é somente de 250Megas.

Thanks pela ajuda.

ShadeX
13-04-2007, 10:21
Funny... Pensava que tinha respondido ontem, mas aparentemente não...

É assim, tu tens RAM que chegue, mas não tens recursos infinitos. Do tipo file handles, process handles, etc.

Muito facilmente uma unica app mal programada te consome o sys todo.

Tens um exemplo porreiro de uma app da Via para monitorização do RAID que nunca libertava o handle do ficheiro que usava. E continuava a abri-lo ciclicamente. O server crashava de 3 em 3 dias à conta disso. Felizmente o que crashava o sys não era a app client e sim o serviço de monitorização, logo foi uma questão de parar/reiniciar o serviço todas as 24h à meia-noite :)

Se achas que tens esse problema, usa o process explorer ou outra app que te mostre os consumos de recursos da aplicação e vai vendo o que ela faz. Se ela consumir mais e mais recursos sem os libertar tens um leak. Ou pode pura e simplesmente ser uma app imbecil que consome muito mais recursos do que os que necessita (been there, seen that...).

christof
13-04-2007, 10:46
Viva.

Obrigado pela ajuda, mas já consegui encontrar um "workaround". Tive foi que usar o google de maneira persistente e durante algum tempo.
Acontece exactamente esse limite dos handles e afins, mas o que descobri é que esse limite não acontece nos winNT antigos, onde se conseguia abrir um número descomunal de processos em simultaneo. A maneira que consegui aumentar o limite disso foi aumentar o "heap size" no registo do windows. A microsoft não recomenda muito isso devido a poder levar a crashes da máquina, mas se não se abusar no tamanho do "heap size" a máquina fica na estável na mesma. Numa tentativa aumentei o heap size para o dobro e consegui abrir o dobro dos programas em simultaneo.

ShadeX
13-04-2007, 13:56
Pois, mas olha que sinceramente, a menos que exista uma realmente boa razão para a app fazer isso é 1/2 caminho andado para a desgraça. Acho que nem apps mesmo para testar multi-threading e multi-io se fazem aos recurso desse modo, quanto mais uma app "normal".