| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 08:40:18
|
chun
GUJ Master
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 09:06:40
|
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...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 09:09:55
|
chun
GUJ Master
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 09:30:35
|
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 09:37:55
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 09:40:09
|
chun
GUJ Master
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 09:41:35
|
nbluis
GUJ Master
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
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. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 09:44:35
|
chun
GUJ Master
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 09:47:45
|
chun
GUJ Master
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 10:41:25
|
nbluis
GUJ Master
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
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. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 10:49:04
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 10:55:52
|
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.
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 12:54:20
|
Marcio_Nogueira
JWizard
![[Avatar]](/images/avatar/0447abe5b3fbb484f70517e8a1091b4e.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 12:56:28
|
chun
GUJ Master
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 13:40:51
|
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
|
|
|
 |
|
|