<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<link href="chrome://translator/skin/floatingPanel.css"
type="text/css" rel="stylesheet">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix"><br>
<div class="moz-signature">
<style>a {color: #F77A1E;</style>On 14/03/2014 20:01, il Katta
wrote:<br>
</div>
</div>
<blockquote
cite="mid:CAH7uX0bzfbu-G_YZivgvNMKYnNmms1YGo6J5Mgcf-BQ2qX4EeA@mail.gmail.com"
type="cite">
<div dir="ltr">Ciao,
<div>per occupare memoria potresti montare una porzione di
memoria RAM come filesystem ( il bello di linux che qualsiasi
cosa può diventare un file ):</div>
<div><br>
</div>
<div># mount tmpfs -t tmpfs /mnt/mem -o size=1G</div>
<div>Nota: tmpfs farà uso anche dello spazio SWAP ( se esiste ).
Se si vuole utilizzare solo la memoria RAM sostituire tmpfs
con ramfs.</div>
<div><br>
</div>
<div>Se il tuo intento è occupare memoria e generare carichi
della cpu nello stesso tempo potresti generare dati random e
andarli a scrivere in quella sezione di filesystem:</div>
<div>$ cat /dev/urandom > /mnt/mem/file$$.bin</div>
<div>Se la generazione di valori random non fosse sufficiente
per per occupare tutta la cpu potresti anche pensare di
comprimere i dati prima di scriverli: </div>
<div>
$ cat /dev/urandom | gzip -9 > /mnt/mem/file$$.gz<br>
</div>
<div>( il comando termina restituendo un errore nel momento in
cui il file generato raggiunge la dimensione della "sezione"
di memoria montata )</div>
<div><br>
</div>
<div>Il controllo sulla quantità di dati scritti si può avere
con il comando dd<br>
</div>
<div>$ dd if=/dev/urandom of=/mnt/mem/file$$ bs=1024K count=1024</div>
<div>Il comando qui sopra andrà a scrivere 1GB di dati random
nel file "/mnt/mem/file<pid del processo>" </div>
<div><br>
</div>
<div>Per quel che riguarda i limiti sull'utilizzo del processore
esiste un comando specifico che, senza molta fantasia, si
chiama cpulimit, e che permette di limitare l'utilizzo della
cpu da parte di un processo specificandone la percentuale
desiderata.</div>
<div><br>
</div>
<div>Quindi mettendo tutto insieme:</div>
<div>$ cpulimit -l 50 dd if=/dev/urandom of=/mnt/mem/file$$
bs=1024K count=1024</div>
<div>Il comando occupa 1G di memoria ( valore raggiunto solo
alla terminazione dello stesso) utilizzando il 50 % dei cicli
di un processore. </div>
<div> </div>
<div>Una alternativa per definire la quantità di memoria massima
utilizzabile da un processo o da un utente è il comando
ulimit.</div>
<div><br>
</div>
<div>$ ulimit -Sv 1024</div>
<div> ( limita la memoria utilizzabile dall'utente che lo esegue
a 1024 kbytes )</div>
<div><br>
</div>
<div>Non saranno soluzioni "eleganti" come quelle già proposte
ma sono in stile Unix :)</div>
<div><br>
</div>
<div>Saluti,</div>
<div>Andrea </div>
</div>
<div class="gmail_extra"><br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
</blockquote>
<br>
Ciao,<br>
<br>
dunque voglio utilizzare solo la RAM, mai in nessun caso il disco.<br>
C'e' un problema però: facendo ramfs mi va a riempire tutta la RAM
indipendentemente dalla size che dò al fs, rendendo il sistema
operativo instabile.<br>
Vedi per favore [0] (e' uno screenshot che sono stato costretto a
fare perché non posso copiare l'output dei comandi).<br>
<br>
[0]
<a class="moz-txt-link-freetext" href="http://farm8.staticflickr.com/7254/13172156715_34be0b04cc_o_d.png">http://farm8.staticflickr.com/7254/13172156715_34be0b04cc_o_d.png</a><br>
<br>
<div style="bottom: auto; left: 21px; right: auto; top: 80px;
display: none;" class="translator-theme-default"
id="translator-floating-panel">
<div title="Click to translate"
id="translator-floating-panel-button"></div>
</div>
</body>
</html>