Em 06/07/07, Maxwillian Miorim<[EMAIL PROTECTED]> escreveu:
On 7/6/07, Denis <[EMAIL PROTECTED]> wrote: > Em 06/07/07, Rúben Lício<[EMAIL PROTECTED]> escreveu: > > On 7/6/07, Denis <[EMAIL PROTECTED]> wrote: > > > Galera, boa tarde. > > > > > > Alguem sabe alguma maneira que eu possa alocar uma certa quantidade de > > > memoria e depois liberar, apenas para testes? > > > > > > Tenho um sistema de gerenciamento de jobs no qual o usuário tem que > > > informar o tanto de memória que o job dele irá usar. Eu impus um > > > limite e agora quero testar se está funcionando. > > > > > > Como posso fazer um programa ou script ou comando ou qq coisa utilizar > > > o tanto de memória que eu especificar enquanto estiver rodando? > > > > > > Por exemplo 10GB de memória. > > > > > > > > > Obrigado. > > > > > > Denis. > > > CCNA CSCO11109942 > > > > > > > > > > Em shell acho que você não consegue não. Mas em C sim. > > char *teste = calloc(1000000000, sizeof(char)); > > você alocou 1mb para caracteres. > > Porém, eu não sei qual a finalidade disso para você. Se for para > > memória continua, isso é valido, porém se não for, ai terá de fazer > > uma lista encadeada. > > > > Se a necessídade é apenas verificar a disponibilidade de memória no > > sistema, ou a quantidade usada por um job especifico, existem soluções > > muito melhores para isso, como a api do sistema operacional. > > Bom, não entendi muito bem, então vou explicar melhor: > > Tenho uma máquina onde os usuários submetem jobs para execução, quando > eles submetem os jobs eles indicam o número de processadores e a > quantidade de memória que o job dele vai precisar. > > Eu impus um limite, de que cada job não deve utilizar mais que x de > memória, então eu quero simular um job, onde utilize X+1 de memória > para ver se o bloqueio está funcionando, entendeu? > > por exemplo um script qualquer que quando eu rode vá consumindo a > memória de 0 até x+1. > > > Melhorou a explicação? Se tu ja tem os limites impostos (com isso assumo que tu já usa de um mecanismo de bloqueio....) é só usar um malloc() com mais memória do que o liberado...
Bom, to pesquisando esse malloc() vou ver o que consigo.
Algo mais simples? while(1){ printf("."); }
rs... este mais simples eu não entendi. vc pode comentar? Isso tá em shell script?
-- Por favor não faça top-posting, coloque a sua resposta abaixo desta linha. Please don't do top-posting, put your reply below the following line. --------------------------------------------------------
Valeu, Denis.