npc2-devel Mailing List for ?NPC² is not PC²
Brought to you by:
jpfarias
You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(23) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(13) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Rafael A. de <raf...@ic...> - 2003-02-09 17:53:23
|
leiam: http://www.internalmemos.com/memos/memodetails.php?memo_id=1321 |
|
From: Rafael A. de <raf...@ic...> - 2003-02-07 22:15:06
|
Acabei tendo de passar o getrusage para dentro do executa.c. Descobri que os dados que ele retorna s=E3o cumulativos. Desta forma, seria= mais dif=EDcil saber o quando de recursos cada inst=E2ncia do programa que= esta sendo testado gastou. Tamb=E9m comecei a implementar um judge.py. Ele devera ser capaz de dado um= programa e um conjuntos de testes, invocar o sandbox para cada um. Rafael. |
|
From: <jpf...@co...> - 2003-02-03 14:07:39
|
Hi! ... voltando ao portugu=EAs ... Tou meio ocupado por enquanto, mas esta semana devo entrar de f=E9rias da Universidade, ent=E3o poderei me dedicar um pouco ao nosso querido projeto... T=E9 +! JP |
|
From: Eduardo P. H. <eha...@gm...> - 2003-02-03 03:47:39
|
oioi! On Mon, Feb 03, 2003 at 12:42:23AM -0200, Rafael Avila de Esp=EDndola wrote: >=20 > Ps.: N=E3o submeti as referidas mudan=E7as por que quero a opini=E3o de v= oc=EAs. N=E3o li toda a mensagem, pois j=E1 estou indo dormir. :) Mas.. acho que d=E1 pra submeter as mudan=E7as sem problemas, ainda estamos em desenvolvimento, e com o cvs podemos fazer rollback e voltar =E0 uma vers=E3o antiga sem problemas. E tamb=E9m algumas coisas ficam mais f=E1ceis de serem discutidas podendo ver o c=F3digo. T=E9+! --=20 Eduardo Pereira Habkost <eha...@gm...> 04BE D2EF 5A56 E446 D424 4785 71A4 49EB AC35 9568 |
|
From: Rafael A. de <raf...@ic...> - 2003-02-03 02:43:55
|
Estive trabalhado e tenho algumas observa=E7=F5es para fazer. 1) Para que o script possa matar o programa que esta sendo testado ele=20 (o script) deve ser executado como root ou como o mesmo usu=E1rio que roda = o programa. 2) Desejamos que o programa que esta sendo testado n=E3o tenha permiss=E3o = para escrever no ambiente chroot. 3) Se optarmos por n=E3o rodar o script como root (meu voto) as observa=E7= =F5es anteriores implicam que o script n=E3o poder=E1 escrever no ambiente = chroot. 4) Para resolver o problema modifiquei o executa.c para que todas as refere= ncias a algum arquivo sejam de fora do chroot. Ele abre os arquivos de entr= ada e sa=EDda e copia o programa a ser testado para dentro do ambiente. Ap= =F3s resolver estas referencias, ele muda de diret=F3rio, root e usu=E1rio. 5) Devido a observa=E7=E3o 1, removi o par=E2metro "user" da fun=E7=E3o san= dbox. 6) Os limites agora s=E3o a ultima coisa a ser feita no executa.c. Desta fo= rma, eles podem ser mais restritivos (por n=E3o incluirem recursos utilizad= o no pr=F3prio executa.c). 7) Para que a diretiva "import" do python funcione o arquivo a ser importad= o deve estar no mesmo diret=F3rio. Por isso, sugiro que a estrutura seja al= terada para: npc2/src : *.py e o executa.c npc2/root : ambiente chroot=20 npc2/lists : lista dos arquivos necess=E1rios para criar o chroot npc2/test : arquivos de testes Ps.: N=E3o submeti as referidas mudan=E7as por que quero a opini=E3o de voc= =EAs. Rafael. |
|
From: Rafael A. de <raf...@ic...> - 2003-01-21 19:13:21
|
> Só uma dúvida: > Você tinha citado que chamar o programa a partir do python > fazia ele consumir mais recursos, por um motivo desconhecido, > será que fazer o executa.c fazer um fork() e ele mesmo chamar > getrusage() não vai tornar as estatísticas mais precisas? (não > fiz nenhum teste aqui ainda). O manual diz que quando chamado com RUSAGE_CHILDREN a função getrusage retorna apenas os recursos utilizados pelo cliente. Logo eu acho que não faria diferença. > Tomei a liberdade de mudar o /usr/bin/python2.3 para /usr/bin/python, > alterar a chamada a __str__ para str(), e trocar aqueles ifzões por > um dicionário. > E no executa.c, fiz ele mostrar mensagens de erro dizendo qual > é o problema, ao invés de um simples abort(). Ótimo > A propósito, só uma sugestão que não vai fazer assim tanta diferença: > Já que o parâmetro limits é uma lista de pares, ele poderia ser um > dicionário. Ia fazer mais sentido, acho. Concordo, isto também facilitou um pouco uma melhoria que eu fiz. Agora o programa a ser testado é morto caso ele trave sem utilizar a CPU. |
|
From: Eduardo P. H. <eha...@gm...> - 2003-01-16 12:26:56
|
On Wed, Jan 15, 2003 at 05:53:43PM -0200, Rafael Avila de Esp=EDndola wrote: > Acho que estou com uma caixa de areia funcional. Ele est=E1 no CVS e > tem um m=EDnimo de documenta=E7=E3o. Legal! :-) S=F3 uma d=FAvida: Voc=EA tinha citado que chamar o programa a partir do python fazia ele consumir mais recursos, por um motivo desconhecido, ser=E1 que fazer o executa.c fazer um fork() e ele mesmo chamar getrusage() n=E3o vai tornar as estat=EDsticas mais precisas? (n=E3o fiz nenhum teste aqui ainda). Tomei a liberdade de mudar o /usr/bin/python2.3 para /usr/bin/python, alterar a chamada a __str__ para str(), e trocar aqueles ifz=F5es por um dicion=E1rio. E no executa.c, fiz ele mostrar mensagens de erro dizendo qual =E9 o problema, ao inv=E9s de um simples abort(). A prop=F3sito, s=F3 uma sugest=E3o que n=E3o vai fazer assim tanta diferen= =E7a: J=E1 que o par=E2metro limits =E9 uma lista de pares, ele poderia ser um dicion=E1rio. Ia fazer mais sentido, acho. >=20 > Vou come=E7ar a pensar num testandor. Isto =E9, uma fun=E7=E3o que recebe > um programa, um conjunto de pares entrada/sa=EDda, um validador destes > pares e retorna se o programa gerou corretamente os testes ou qual o > erro observado. Boa sorte! (-: --=20 Eduardo Pereira Habkost <eha...@gm...> 04BE D2EF 5A56 E446 D424 4785 71A4 49EB AC35 9568 |
|
From: Rafael A. de <raf...@ic...> - 2003-01-15 19:55:15
|
Acho que estou com uma caixa de areia funcional. Ele está no CVS e tem um mínimo de documentação. Vou começar a pensar num testandor. Isto é, uma função que recebe um programa, um conjunto de pares entrada/saída, um validador destes pares e retorna se o programa gerou corretamente os testes ou qual o erro observado. |
|
From: Eduardo P. H. <eha...@gm...> - 2003-01-09 15:03:12
|
On Thu, Jan 09, 2003 at 12:32:23PM -0200, Eduardo Pereira Habkost wrote: >=20 > A prop=F3sito, devo mandar o c=F3digo que voc=EA colocou na p=E1gina para= o CVS daqui a pouco. J=E1 est=E1 l=E1 no CVS. Talvez fazer o checkout do c=F3digo seja mais simp= les, e funcione agora: export CVS_RSH=3Dssh cvs -z3 -d:ext:dev...@cv...:/cvsroot/npc2 co npc2 O sandbox est=E1 no subdiret=F3rio src/sandbox. S=F3 fiz upload do sandbox.py e do teste.c. Caso queira adicionar mais alguma coisa, (o que =E9 aquele arquivo c.list?), basta adicionar. --=20 Eduardo Pereira Habkost <eha...@gm...> 04BE D2EF 5A56 E446 D424 4785 71A4 49EB AC35 9568 |
|
From: Eduardo P. H. <eha...@gm...> - 2003-01-09 14:32:40
|
On Thu, Jan 09, 2003 at 12:22:32PM -0200, Rafael Avila de Esp=EDndola wrote: > Se implementar um pequeno programa em C que muda de diret=F3rio raiz e us= u=E1rio, imp=F5e as restri=E7=F5es e executa o programa a ser testado, tere= mos as seguintes vantagens. >=20 > 1)Este programa pode ficar com o setuid root (para pode executar o chroot= ), desta forma o resto do script executa como outro usu=E1rio. Muito bem lembrado! Realmente, em C vai ser melhor. (-: >=20 > 2)N=E3o =E9 necess=E1rio utilizar um fork dentro do python. Com isto o c= =F3digo acaba ficando mais simples. Al=E9m disso nos teste que eu estou faz= endo parece que o interpretador interfere na quantidade de mem=F3ria utiliz= ada. Em alguns casos, rodar um bom dia (feito em C) de dentro de outro prog= rama usa 2MB de mem=F3ria a menos do que se o mesmo programa for iniciado c= om o python. Confesso que n=E3o entendi porque. =C9 um bom motivo, tamb=E9m. Mas acho que s=F3 o primeiro j=E1 =E9 o sufici= ente. A prop=F3sito, devo mandar o c=F3digo que voc=EA colocou na p=E1gina para o= CVS daqui a pouco. --=20 Eduardo Pereira Habkost <eha...@gm...> 04BE D2EF 5A56 E446 D424 4785 71A4 49EB AC35 9568 |
|
From: Rafael A. de <raf...@ic...> - 2003-01-09 14:23:51
|
> Na minha opini=E3o, acho que como o programa =E9 pequeno, e se estiver > funcionando tudo com o python, dava pra deixar em python, mesmo > a menos que tenha um bom motivo para fazer esta parte em C (o que > torna o m=F3dulo um pouco mais complexo e mais complicado de manter). >=20 Se implementar um pequeno programa em C que muda de diret=F3rio raiz e us= u=E1rio, imp=F5e as restri=E7=F5es e executa o programa a ser testado, te= remos as seguintes vantagens. 1)Este programa pode ficar com o setuid root (para pode executar o chroot= ), desta forma o resto do script executa como outro usu=E1rio. 2)N=E3o =E9 necess=E1rio utilizar um fork dentro do python. Com isto o c=F3= digo acaba ficando mais simples. Al=E9m disso nos teste que eu estou faze= ndo parece que o interpretador interfere na quantidade de mem=F3ria utili= zada. Em alguns casos, rodar um bom dia (feito em C) de dentro de outro p= rograma usa 2MB de mem=F3ria a menos do que se o mesmo programa for inici= ado com o python. Confesso que n=E3o entendi porque. |
|
From: Rafael A. de <raf...@ic...> - 2003-01-09 14:14:06
|
> > Hmm... temos reposit=F3rio CVS j=E1? Poder=EDamos colocar as coisas l= =E1, j=E1. > Certo, vou colocar.=20 Por enquanto esta em www.ic.unicamp.br/~ra003280 Ser=E1 que algu=E9m com mais familiaridade com o sf poderia manda-lo? Nun= ca usei o cvs atrav=E9s do ssh. |
|
From: Rafael A. de <raf...@ic...> - 2003-01-09 11:59:05
|
> Na minha opini=E3o, acho que como o programa =E9 pequeno, e se estiver > funcionando tudo com o python, dava pra deixar em python, mesmo > a menos que tenha um bom motivo para fazer esta parte em C (o que > torna o m=F3dulo um pouco mais complexo e mais complicado de manter). >=20 > Hmm... temos reposit=F3rio CVS j=E1? Poder=EDamos colocar as coisas l=E1= , j=E1. Certo, vou colocar.=20 Encontrei um pequeno inconveniente em usar o RLIMIT_AS. A libc parece req= uisitar mem=F3ria em blocos de 2MB. Como o programa roda dentro de um=20 chroot nos podemos resolver este problema. Obs.: Estou som computador em casa. Por isto o trabalho esta indo meio de= vagar. |
|
From: <jpf...@co...> - 2003-01-07 11:40:29
|
On Mon, 6 Jan 2003, Eduardo Pereira Habkost wrote: > > Hmm... temos reposit=F3rio CVS j=E1? Poder=EDamos colocar as coisas l=E1= , j=E1. > J=E1 temos CVS sim, est=E1 no cvs.npc2.sourceforge.net L=E1 na p=E1gina do SF.NET tem explicando como acessar esse reposit=F3rio= , se algu=E9m n=E3o est=E1 familiarizado com o CVS.... Falowz! |
|
From: Eduardo P. H. <eha...@gm...> - 2003-01-06 15:07:16
|
On Mon, Jan 06, 2003 at 12:37:04PM -0200, Rafael Avila de Esp=EDndola wrote: >=20 > A "sandboxAux" tem que rodar dentro de um outro processo por que uma > vez que se tenha mudado o diret=F3rio raiz n=E3o a como voltar. Acho que > vou implementar esta fun=E7=E3o como um programa em C a parte. >=20 Na minha opini=E3o, acho que como o programa =E9 pequeno, e se estiver funcionando tudo com o python, dava pra deixar em python, mesmo a menos que tenha um bom motivo para fazer esta parte em C (o que torna o m=F3dulo um pouco mais complexo e mais complicado de manter). Hmm... temos reposit=F3rio CVS j=E1? Poder=EDamos colocar as coisas l=E1, j= =E1. --=20 Eduardo Pereira Habkost <eha...@gm...> 04BE D2EF 5A56 E446 D424 4785 71A4 49EB AC35 9568 |
|
From: Rafael A. de <raf...@ic...> - 2003-01-06 14:38:28
|
> > RLIMIT_AS Funciona mas n=E3o =E9 bem o que queremos. >=20 > N=E3o entendi, por que n=E3o =E9 o que a gente quer? >=20 > Acho que limitar toda a mem=F3ria virtual (inclusive segmento > de c=F3digo) deve ser o ideal. Sen=E3o, haveria meios de burlar > isso (/me imagina um esp=EDrito de porco fazendo um programa com uma > function enorme que depois ser=E1 utilizada para armazenar dados). >=20 > Ou h=E1 algum outro ponto que n=E3o peguei? >=20 N=E3o, eu que n=E3o havia compreendido direito. Estou com um prot=F3tipo funcionando em python. O funcionamento =E9 o seg= uinte. A fun=E7=E3o "sandbox" roda um novo processo com a fun=E7=E3o "sandboxAux= ". Esta muda de usu=E1rio (setuid) e de diret=F3rio raiz (chroot). Ela ativa os limites, roda o programa a ser testado. Ela ent=E3o imprime o par (a,b) que contem o valor de retorno e os recursos utilizados (Praticamente in=FAtil no Linux). A "sandboxAux" tem que rodar dentro de um outro processo por que uma vez que se tenha mudado o diret=F3rio raiz n=E3o a como voltar. Acho que vou implementar esta fun=E7=E3o como um programa em C a parte. |
|
From: Eduardo P. H. <eha...@gm...> - 2003-01-06 13:52:12
|
On Mon, Jan 06, 2003 at 11:33:23AM -0200, Rafael Avila de Esp=EDndola wrote: > Quanto aos limites (kernel 2.4). > RLIMIT_CPU Funciona com precis=E3o de mais ou menos 1 segundo > RLIMIT_FSIZE N=E3o testei > RLIMIT_DATA N=E3o funciona > RLIMIT_STACK Funciona > RLIMIT_CORE Funciona > RLIMIT_RSS N=E3o funciona Com o patch rmap do Riel, deve funcionar, mas tamb=E9m n=E3o =E9 o que quer= emos. http://www.uwsg.iu.edu/hypermail/linux/kernel/0209.2/1606.html > RLIMIT_NPROC Funciona > RLIMIT_NOFILE Funciona > RLIMIT_MEMLOCK N=E3o testei > RLIMIT_AS Funciona mas n=E3o =E9 bem o que queremos. N=E3o entendi, por que n=E3o =E9 o que a gente quer? Acho que limitar toda a mem=F3ria virtual (inclusive segmento de c=F3digo) deve ser o ideal. Sen=E3o, haveria meios de burlar isso (/me imagina um esp=EDrito de porco fazendo um programa com uma function enorme que depois ser=E1 utilizada para armazenar dados). Ou h=E1 algum outro ponto que n=E3o peguei? --=20 Eduardo Pereira Habkost <eha...@gm...> 04BE D2EF 5A56 E446 D424 4785 71A4 49EB AC35 9568 |
|
From: Rafael A. de <raf...@ic...> - 2003-01-06 13:34:43
|
Quanto aos limites (kernel 2.4). RLIMIT_CPU Funciona com precis=E3o de mais ou menos 1 segundo RLIMIT_FSIZE N=E3o testei RLIMIT_DATA N=E3o funciona RLIMIT_STACK Funciona RLIMIT_CORE Funciona RLIMIT_RSS N=E3o funciona RLIMIT_NPROC Funciona RLIMIT_NOFILE Funciona RLIMIT_MEMLOCK N=E3o testei RLIMIT_AS Funciona mas n=E3o =E9 bem o que queremos. Vou tentar descobrir algum geito de fazer algo aquivalente ao RLIMIT_DATA. |
|
From: Rodolfo J. de A. <ro...@ic...> - 2002-12-26 22:04:52
|
----- Original Message -----
From: Jo=E3o Paulo Fernandes Farias <jpf...@co...>
To: <npc...@li...>
Sent: Thursday, December 26, 2002 9:35 AM
Subject: Re: [Npc2-devel] Especificacao (parcial).
> Acho que podemos ficar limitados ao linux, pois uma das quest=F5es que =
a
> gente levantou sobre o PC2 era que ele era feito em java para ser port=E1=
vel
> mas s=F3 rodava no linux...
A=ED j=E1 =E9 maldade demais com o PC2. Ele =E9 feito em java para se=
r
port=E1vel... E ao menos isso ele consegue. J=E1 rodei o PC2 em Windows t=
amb=E9m.
Ent=E3o temos Windows e Linux no conjunto de SO que ele roda.
Quanto ao c=F3digo de Valladolid, se n=E3o me engano, eu peguei faz m=
uito
tempo (muito mesmo). Talvez eu consiga achar no meio de meus arquivos em
algum lugar. Vou tentar. Mas no momento estou na casa dos meus pais (de
folga). S=F3 poderei fazer isso no ano que vem ent=E3o! :-)
Aproveito ent=E3o a oportunidade para desejar um =F3timo 2003 pra
voc=EAs...
Rodolfo
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.422 / Virus Database: 237 - Release Date: 20/11/02
|
|
From: Eduardo P. H. <eha...@gm...> - 2002-12-26 16:17:23
|
On Thu, Dec 26, 2002 at 11:51:55AM -0300, Jo=E3o Paulo Fernandes Farias wro= te: >=20 > Olha em: acm.uva.es/contest > L=E1 tem explicando como arranjar um contest, incluindo como conseguir o > juiz (eu acho que vi isso l=E1)... >=20 > Ou mesmo no acm.uva.es/p, deve ter algum atalho pro c=F3digo do juiz. >=20 Hmm... A =FAnica informa=E7=E3o que encontrei sobre ele foi: http://acm.uva.es/problemset/computer.html :( E, sem source, apenas 2 diagramas mostrando uma vis=E3o geral do funcionamento do juiz, que n=E3o s=E3o t=E3o =FAteis. Procurei no lugar errado, ou =E9 s=F3 isso que tem dispon=EDvel publicament= e, mesmo? --=20 Eduardo Pereira Habkost <eha...@gm...> 04BE D2EF 5A56 E446 D424 4785 71A4 49EB AC35 9568 |
|
From: <jpf...@co...> - 2002-12-26 14:52:07
|
On Thu, 26 Dec 2002, Eduardo Pereira Habkost wrote: > Hmm... algu=E9m sabe se o Online Judge roda Linux, mesmo? > E sem nenhuma altera=E7=E3o no kernel? [...] > > O c=F3digo do juiz de Valladolid =E9 aberto? Acho que vale a pena dar u= ma > olhada, com certeza. Olha em: acm.uva.es/contest L=E1 tem explicando como arranjar um contest, incluindo como conseguir o juiz (eu acho que vi isso l=E1)... Ou mesmo no acm.uva.es/p, deve ter algum atalho pro c=F3digo do juiz. |
|
From: Eduardo P. H. <eha...@gm...> - 2002-12-26 12:38:24
|
On Thu, Dec 26, 2002 at 08:35:31AM -0300, Jo=E3o Paulo Fernandes Farias wro= te: [...] >=20 > Outra saida eh dar uma olhada no codigo do juiz de Valladolid, com certeza > ele deve saber o que utilizar para ver a quantidade de memoria utilizada > por um processo, pois a gente v=EA isso no Online Judge... E a gente v=EA= que > assim que o programa excede o limite, ele =E9 morto! Hmm... algu=E9m sabe se o Online Judge roda Linux, mesmo? E sem nenhuma altera=E7=E3o no kernel? Ele =E9 morto automaticamente, ou a aloca=E7=E3o de mem=F3ria falha? (O que, cedo ou tarde, acaba fazendo o programa terminar, mesmo) O c=F3digo do juiz de Valladolid =E9 aberto? Acho que vale a pena dar uma olhada, com certeza. [...] >=20 > Acho que podemos ficar limitados ao linux, pois uma das quest=F5es que a > gente levantou sobre o PC2 era que ele era feito em java para ser port=E1= vel > mas s=F3 rodava no linux... A id=E9ia =E9 que, mesmo sem querer, a gente pode acabar fazendo um programa port=E1vel para outros unices, sem nenhum custo adicional, ent=E3o por que n=E3o? :-) --=20 Eduardo Pereira Habkost <eha...@gm...> 04BE D2EF 5A56 E446 D424 4785 71A4 49EB AC35 9568 |
|
From: <jpf...@co...> - 2002-12-26 11:35:42
|
On Mon, 23 Dec 2002, Eduardo Pereira Habkost wrote: > S=F3 uma d=FAvida: a principal fun=E7=E3o desta parte do c=F3digo ser=E1= limitar > a quantidade de mem=F3ria utilizada, ou apenas contabilizar? > > Caso seja limitar, dava para usar apenas setrlimit(), e, opcionalmente, > utilizar getrusage() para estat=EDsticas, caso o kernel sendo utilizado > suporte. Pronto, achou a solucao, setrlimit(), se estourar o limite, morte! A gent= e nao precisa saber o quanto de memoria ele utilizou, basta saber se nao estourou o limite. Outra saida eh dar uma olhada no codigo do juiz de Valladolid, com certez= a ele deve saber o que utilizar para ver a quantidade de memoria utilizada por um processo, pois a gente v=EA isso no Online Judge... E a gente v=EA= que assim que o programa excede o limite, ele =E9 morto! > > =C9, pode ser uma boa. Apesar de que, por exemplo, exigir > um patch do kernel para funcionar n=E3o seria muito bom. > Se for algo opcional, ser=E1 interessante. Principalmente > porque a gente vai querer que o software sobreviva v=E1rios anos, > at=E9 l=E1, o Linux j=E1 dever=E1 ter o getrusage() completo > implementado. :-) (e acho que n=E3o queremos ficar > limitados ao kernel Linux, tamb=E9m 8) > > Acho que podemos ficar limitados ao linux, pois uma das quest=F5es que a gente levantou sobre o PC2 era que ele era feito em java para ser port=E1= vel mas s=F3 rodava no linux... |
|
From: Eduardo P. H. <eha...@gm...> - 2002-12-23 23:49:02
|
On Mon, Dec 23, 2002 at 05:08:46PM -0200, Rafael Avila de Espindola wrote: > Eles lem o /proc, isto fornece infomcoes sobre o tempo corrente, mas se o > precesso alocar memoria e liberala antes de lermos o /proc nos nao teremos > como contabiliza-la. Logo, este metodo nao eh seguro.=20 S=F3 uma d=FAvida: a principal fun=E7=E3o desta parte do c=F3digo ser=E1 li= mitar a quantidade de mem=F3ria utilizada, ou apenas contabilizar? Caso seja limitar, dava para usar apenas setrlimit(), e, opcionalmente, utilizar getrusage() para estat=EDsticas, caso o kernel sendo utilizado suporte. >=20 > Ps.: Vou dar uma olhada no kernel 2.5 e retorno se descorir aluma > informacao. =C9, pode ser uma boa. Apesar de que, por exemplo, exigir um patch do kernel para funcionar n=E3o seria muito bom. Se for algo opcional, ser=E1 interessante. Principalmente porque a gente vai querer que o software sobreviva v=E1rios anos, at=E9 l=E1, o Linux j=E1 dever=E1 ter o getrusage() completo implementado. :-) (e acho que n=E3o queremos ficar limitados ao kernel Linux, tamb=E9m 8) --=20 Eduardo Pereira Habkost <eha...@gm...> 04BE D2EF 5A56 E446 D424 4785 71A4 49EB AC35 9568 |
|
From: Rafael A. de E. <ra0...@ic...> - 2002-12-23 19:10:06
|
On Mon, 23 Dec 2002, [ISO-8859-1] Jo=E3o Paulo Fernandes Farias wrote: > On Sat, 21 Dec 2002, Rafael Avila de Esp=EDndola wrote: >=20 > > O time usa a chamada "wait3", ela esta incompleta no linux e n=E3o reto= rna informa=E7=F5es sobre a utiliza=E7=E3o de mem=F3ria. De fato, o =FAnico= unix que eu > > encontrei que tem ela funcionando direito =E9 o FeeeBSD. > > >=20 > Realmente, depois notei que o time s=F3 retorna informa=E7=F5es sobre o t= empo de > procesamento do programa. Mas deve existir um meio. Olha o fonte do top, > ou do gtop. Eles dizem a quantidade de mem=F3ria utilizada pelos > processos... >=20 Eles lem o /proc, isto fornece infomcoes sobre o tempo corrente, mas se o precesso alocar memoria e liberala antes de lermos o /proc nos nao teremos como contabiliza-la. Logo, este metodo nao eh seguro.=20 Ps.: Vou dar uma olhada no kernel 2.5 e retorno se descorir aluma informacao. |