Se afișează postările cu eticheta shm. Afișați toate postările
Se afișează postările cu eticheta shm. Afișați toate postările

duminică, aprilie 05, 2009

Cum se face un ramdisk

Ramdisk-ul este o paritie care foloseste RAM-ul ca si mediu de stocare. Avantajul este faptul ca viteza de lucru este cu mult mai mare decat a oricarui harddisk, atat la scriere cat si la citire. Dezavantajul este ca odata inchis calculatorul sau la un reset, toate datele sunt sterse.

Ramdisk-ul este ideal pentru operatii cu disk-ul ce necesita viteza foarte mare si nu au necesitati de stabilitate. Un exemplu ar fi arhivatul/dezarhivatul unor fisiere. Un alt exemplu ar fi stocarea anumitor portiuni dintr-o baza de date in RAM. Si codarea/decodarea video ar putea fi un exemplu bun de folosire a ramdisk-ului. Imaginatia ne poate da si alte solutii.

Kernelul de Linux implementeaza extrem de usor lucrul cu un ramdisk. Device-ul virtual /dev/shm poate fi montat in orice director dorim sa folosim hardisk-ul. De exemplu, daca vrem sa folosim directorul /media/ramdisk ca si disk ram trebuie sa rulam ca root:

mount -t tmpfs /dev/shm /media/ramdisk

/dev/shm se poate monta in mai multe directoare in acelasi timp, fara a intersecta datele intre ele. Ramdisk-ul este dimensionat automat la jumatate din RAM-ul calculatorului, dar poate fi ajustat in functie de marimea dorita astfel:

mount -o remount,size=756M /dev/shm

unde 756M e marimea aleasa in cazul de fata.

Ramdisk-ul este un instrument extrem de rapid pentru a optimiza operatiile cu disk-ul. Daca in momentul in care dati top, parametrul wa este constant incarcat, inseamna ca se fac foarte multe operatii de I/O si ar trebui sa analizati ce se poate muta la nivel de ramdisk