J'ai test?? ces derniers jours le RamDisk sur Mac OSX. Le Ramdisk est ni plus ni moins un disque comme tous les autres, ?? la diff??rence pr??s qu'il ne repose pas sur un support persistant. En effet l?? ou les volumes reposent habituellement sur un disque m??canique, un disque Flash SSD, ou alors une cl?? USB, on va ici utiliser le support le plus rapide mais aussi le plus volatile qui soit : la m??moire vive. L'augmentation importante des quantit??s de m??moire disponibles sur nos syst??me rend cette option int??ressante.
Par contre il y a un certain nombre de points auxquels il faut rester vigilant :??
- En cas de reboot, tout est perdu, il faut veiller ?? mettre en place des copies r??guli??res des donn??es.
- Le RamDisk utilise la m??moire qui est pagin??e sur le disque, donc si le syst??me a subitement besoin de m??moire il peut basculer nos donn??es sur disque avec un impact tr??s lourd sur les performances.
- Comme tout disque d'OSX, ceux-ci sont cach??s par le buffer unifi??, avec le risque que la quantit?? de m??moire allou??e au Ramdisk soit n??cessaire de nouveau pour le buffer.
Pour cr??er le RamDisk il suffit de lancer la commande suivante dans un terminal :
???? ????diskutil erasevolume HFS+ "ramdisk" `hdiutil attach -nomount ram://2097152`
2097152??est le nombre de bloc de 512 octets qui sont ?? allouer sur le RamDisk pour faire un volume de 1 Go (2097152 x 512 = 1Go)
en utilisant la commande??vm_stat??on peut facilement contr??ler la m??moire allou??e lors de la cr??ation du RamDisk.??
Pour mesurer la performance on peut utiliser :??
time dd??if=/dev/zero of=/Volumes/OSX/outputfile bs=1024k??count=1024
Les ratios constat??s sont de l'ordre de 6 tant en ??criture qu'en lecture entre un disque physique et le RamDisk.