JVM com recursos infinitos ?  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

Esta aqui pensando... existe alguma forma de definir que "tal classloader só pode ocupar tantos % dos recursos da JVM" ?

Ex: uma app no tomcat... MUITO MAU COMPORTADA... comeca a entupir a HEAP.... ela entope até dar um OutOfMemory... e levar com ela todo o Tomcat com outras 14 apps rodando...

Existe uma forma de "bloquear" tal comportamento ? dizer "olha... app tal soh pode consumir 20% dos recursos da JVM"

?!?!?!

Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Se você usar a JVM da IBM rodando sob z/OS (mainframes) você pode configurar isso, se não me engano.
Eles sabem que isso dá problemas...
[WWW]
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

credo... nao existe uma forma usando a VM da Sun em i386 ? hehehe

Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
Tecnoage
GUJ Master

Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline

Cara isso me lembra um export do Oracle OWB em que vi acontecer de o windows mostrar um comsumo da memória da JVM bater os 900 MB, e detalhe a máquina tinha 1 GB... huahuaa

Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br
[Email] [WWW] [MSN]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

chun wrote:credo... nao existe uma forma usando a VM da Sun em i386 ? hehehe


Java não possui isolamento interno a aplicação, algo como os AppDomains do .net, ou ainda melhor, os processos do erlang. No erlang você consegue controlar o consumo de recursos de cada processo - podendo não só limitar mas fazer provisionamento e usar estratégias que envolvam gerenciamento dinâmico.


http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

vixe... isso é uma puta falta do java... digamos que seria um ponto para o .Net

Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
nbluis
GUJ Master
[Avatar]

Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline

Erlang ++

Luis Eduardo Bohrer

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
[WWW]
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

Louds estava lendo... mas no caso do AppsDomains do .Net existe um custo bastante caro para ele... cada domain tem sua heap , sua memoria... ou seja... chega a ser tão isolado que praticamente consome o dobro de recursos...

quase como se estivesse rodando 2 jvms...

o que eu li eh o correto ?

Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

seria pedir demais para cada Classloader do java funcionar isoladamente do outro ? (ou com a possibilidade de) ??

ae poderiamos controlar recursos para tal e nao deixar estourar a bomba...

Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
nbluis
GUJ Master
[Avatar]

Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline

Mas tudo isso sairia mais caro, além da JVM o container teria que dispôr disso.

Luis Eduardo Bohrer

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
[WWW]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

chun wrote:Louds estava lendo... mas no caso do AppsDomains do .Net existe um custo bastante caro para ele... cada domain tem sua heap , sua memoria... ou seja... chega a ser tão isolado que praticamente consome o dobro de recursos...

quase como se estivesse rodando 2 jvms...

o que eu li eh o correto ?


As heaps de cada AppDomain são conceituais, a VM pode implementá-las como quiser, inclusive usando uma só para todos AppDomains. Normalmente isso não é um problema significativo, já que os objetos criados vão ser os mesmos independente da maneira armazenada.

Domains são objetos pesados de criar, porém muito mais leves que processos. O consumo de memória é sensivelmente menor pois todos assemblies compartilhados são compilados uma única vez - imagine a economia só por conta do mscorlib.

AppDomain ainda não é solução para o seu problema, já que não é possivel gerenciar os recursos consumido por cada um, mas é um passo na direção correta.

Quanto a permitir isolamento entre classloaders, isso não é possivel pois hoje é normal existirem duzias de classloaders dentro de uma mesma aplicação, o que Java precisa é um controle de granulosidade maior, como um web-app inteira. Seria útil também se segurança fosse controlavel nesse nível também.


http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

louds wrote:Quanto a permitir isolamento entre classloaders, isso não é possível pois hoje é normal existirem dúzias de classloaders dentro de uma mesma aplicação...


Um exemplo é o tal do JRuby, que cria um classloader para cada classe Ruby, se não me engano.



[WWW]
Marcio_Nogueira
JWizard
[Avatar]

Membro desde: 21/05/2007 20:14:54
Mensagens: 2781
Localização: xxxxxxxxxxxxxxxxxxxxxxxxxx
Offline

A JVM trabalha a questão da segurança baseada no conceito "sand box" ou caixa de areia, que permite aplicar políticas de restrição para código java e/ou aplicações.

MBA em Desenvolvimento de Sistemas em Ambiente Web
Bacharel em Desenho Industrial / Programação Visual
Marcio Nogueira C. Pinto
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
chun
GUJ Master
[Avatar]
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline

marcio... e aonde que entra a "reserva de recursos" nesta sua afirmacoa ?

Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...

------
Controverso Eu ? http://www.go-java.com/blog
[WWW] [ICQ]
fabio.patricio
GUJ Master

Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline

thingol wrote:Se você usar a JVM da IBM rodando sob z/OS (mainframes) você pode configurar isso, se não me engano.
Eles sabem que isso dá problemas...


O mesmo pra JVM da SAP que o Netweaver roda em cima.

]['s
[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team