[bglug] TinyCore Linux e quant'altro

il Katta ilkatta88@gmail.com
Dom 16 Mar 2014 14:04:38 CET


Ancora mi sono dimenticato una nota.
Nello script manca il controllo sulla quantità di memoria disponibile.
Utilizzando ramfs sarebbe opportuno effettuare sempre un controllo per
evitare che il sistema diventi instabile.

L'utilizzo di ramfs è potenzialmente dannoso per la stabilità del sistema,
i motivi li trovi riassunti in
"Documentation/filesystems/ramfs-rootfs-initramfs.txt"

Ho testato le performance di frandom e sono notevoli !!

Per la generazioni di  un file di 1.5 GB ( utilizzando dd ):
urandom ha impiegato 126 secondi
frandom ha impiegato soli 7 secondi

Saluti,
Katta


Il giorno 16 marzo 2014 13:35, il Katta <ilkatta88@gmail.com> ha scritto:

> Ciao
> si, mi sono dimenticato di elencare gli svantaggi di ramfs, e uno di
> questi è proprio la mancanza di controllo ( l'opzione 'size' introdotta in
> tmpfs ). Dettaglio non da poco, chiedo scusa!
> Inoltre a differenza di tmpfs, ramfs è accessibile solo da root in
> scrittura.
> Problema risolvibile utilizzando l'opzione mode=0777 ( usa questa opzione
> a tuo rischio e pericolo ).
>
> Per quel che riguarda la dimensione della memoria sei obbligato ad
> utilizzare dd impostando la corretta dimensione.
>
> Ho buttato giù due righe in uno script [0] per capire che il tutto
> funzioni.
>
> il suo utilizzo è:
> stresstest.sh < percentuale memoria ram > < percentuale cpu >
> esempio:
> stresstest.sh 50 60
> ( occupa il 50% della memoria e il 60% di ogni core )
>
> Il valore della quantità della memoria è distribuito su tutti i processi
> creati mentre la percentuale della cpu è per core.
>
> Per effettuare il test su un solo core:
> stresstest.sh -s < percentuale memoria ram > < percentuale cpu >
>
> L'unico problema è che la generazione di numeri casuali è una operazione
> abbastanza lunga.
> Per ovviare al problema potresti guardare qua [1], ma sinceramente non ho
> provato.
>
> spero di esserti stato utile.
>
> Saluti,
> Katta
>
> [0] https://gist.github.com/il-katta/9582040
> [1] http://billauer.co.il/frandom.html
>
>
> Il giorno 15 marzo 2014 19:20, Technical GanXta <giecsar@gmail.com> ha
> scritto:
>
>>
>>  On 14/03/2014 20:01, il Katta wrote:
>>
>> Ciao,
>> per occupare memoria potresti montare una porzione di memoria RAM come
>> filesystem ( il bello di linux che qualsiasi cosa può diventare un file ):
>>
>>  # mount tmpfs -t tmpfs /mnt/mem -o size=1G
>> Nota: tmpfs farà uso anche dello spazio SWAP ( se esiste ). Se si vuole
>> utilizzare solo la memoria RAM sostituire tmpfs con ramfs.
>>
>>  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:
>> $ cat /dev/urandom > /mnt/mem/file$$.bin
>> 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:
>>  $  cat /dev/urandom | gzip -9 > /mnt/mem/file$$.gz
>>  ( il comando termina restituendo un errore nel momento in cui il file
>> generato raggiunge la dimensione della "sezione" di memoria montata )
>>
>>  Il controllo sulla quantità di dati scritti si può avere con il comando
>> dd
>>  $ dd if=/dev/urandom of=/mnt/mem/file$$ bs=1024K count=1024
>> Il comando qui sopra andrà a scrivere 1GB di dati random nel file
>> "/mnt/mem/file<pid del processo>"
>>
>>  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.
>>
>>  Quindi mettendo tutto insieme:
>> $ cpulimit -l 50 dd if=/dev/urandom of=/mnt/mem/file$$ bs=1024K count=1024
>> Il comando occupa 1G di memoria ( valore raggiunto solo alla terminazione
>> dello stesso)  utilizzando il 50 % dei cicli di un processore.
>>
>> Una alternativa per definire la quantità di memoria massima utilizzabile
>> da un processo o da un utente è il comando ulimit.
>>
>>  $ ulimit -Sv 1024
>>  ( limita la memoria utilizzabile dall'utente che lo esegue a 1024 kbytes
>> )
>>
>>  Non saranno soluzioni "eleganti" come quelle già proposte ma sono in
>> stile Unix :)
>>
>>  Saluti,
>> Andrea
>>
>>
>>
>> Ciao,
>>
>> dunque voglio utilizzare solo la RAM, mai in nessun caso il disco.
>> 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.
>> Vedi per favore [0]  (e' uno screenshot che sono stato costretto a fare
>> perché non posso copiare l'output dei comandi).
>>
>> [0] http://farm8.staticflickr.com/7254/13172156715_34be0b04cc_o_d.png
>>
>>
>>
>> --
>> Sito BgLUG: http://www.bglug.it
>> Mailing list: http://lists.linux.it/listinfo/bglug
>>
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/bglug/attachments/20140316/8131ca9b/attachment-0001.html>


Maggiori informazioni sulla lista bglug