Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: RAM Disk  (gelezen 1138 keer)

RAM Disk
« Gepost op: 2014/10/31, 14:56:22 »
Hallo,

Ik gebruik ubuntu studio 14, 64 bit.

Ik wil bij het opstarten van mijn computer een RAM Disk aanmaken en een aantal bestanden daar naar toe kopieren.

Ik heb in de instellingen- en systeembeheerder onder sessie en opstart twee commandos aangemaakt:

1. RAMDISK:  mount -t ramfs -o size=3000m ramfs /mnt/ram
2. Vul Ramdisk: cp /home/janflorijn/Documenten/Domus/gig/* /mnt/ram

Daarna is mijn map mnt/ram leeg. Kennelijk werkt de kopieer opdracht niet.
Wanner ik dan handmatig deze bestanden naar /mnt/ram kopieer lukt dit wel, maar vraag ik me af of ik nu wel echt een RAM Disk heb. Er treedt namelijk in de systeemmonitor geen verandering op in het geheugen. Zie bijlage. Ik mag toch aannemen dat wanneer ik een RAM Disk niet alleen reserveer, maar ook vul, dat er in het geheugen iets moet veranderen.

Ik vrees dat de RAM Disk ook niet is aangemaakt.

Ik heb in beide gevallen geen sudo toegevoegd, want opstartencommando's worden toch als root uitgevoerd?

Wat doe ik fout?

Met vriendelijke groeten,


Janflorijn


Re: RAM Disk
« Reactie #1 Gepost op: 2014/10/31, 15:19:44 »
Wat geeft:  df -h /mnt/ram  ??

(het is beter om tmpfs te gebruiken i.p.v. ramfs)
zie: http://www.jamescoyle.net/knowledge/951-the-difference-between-a-tmpfs-and-ramfs-ram-disk
« Laatst bewerkt op: 2014/10/31, 15:22:40 door henkoegema »
Miscere utile dulci. (Ter leering ende vermaeck)
http://henk.oegema.com  (On RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  22.04.3 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & Jetson Nano (voor AI & ML)

Re: RAM Disk
« Reactie #2 Gepost op: 2014/10/31, 16:15:45 »
Hallo,

df -h /mnt/ram
 
geeft:

ramfs                 0        0     0    - /mnt/ram

Ik ga je tweede advies uitproberen. De bedoeling is dat de bestanden in de gemaakte ramdisk in RAM komen.

Bedankt voor uw reactie.

Groet,

JanFlorijn

Re: RAM Disk
« Reactie #3 Gepost op: 2014/10/31, 16:19:49 »
Hallo,

En wanneer ik tmpfs aanmaak krijg ik dit:

tmpfs              3,0G     2,5G  540M  83% /mnt/ram

Dat is lijkt mij goed.
Ik ga nu proberen dit met het opstarten te laten gebeuren.

Groet,

JanFlorijn

Re: RAM Disk
« Reactie #4 Gepost op: 2014/11/02, 12:35:43 »
Hallo,

Toch vreemd. Het lukt om een tmpfs aan te maken.  Met df -h is hij aanwezig.

Kijk ik in de systeemmonitor, dan gaat het geheugengebruik niet omhoog met het aanmaken van de tmpfs, gaat het geheugengebruik niet omhoog met het kopieren van bestanden naar /mnt/ram, maar gaat het geheugengebruik pas omhoog nadat ik de bestanden in de map /mnt/ram in een programma gebruik. Dat verschil valt niet te missen: het is ca. 1.3gb

Klopt het dat ik het aanmaken van de RAM disk in systeemmonitor niet eerder zie dan bij gebruik van data door programmatuur?

Groet,

JanFlorijn

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: RAM Disk
« Reactie #5 Gepost op: 2014/11/02, 18:06:33 »
Het extra geheugengebruik zou je moeten zien zodra je de bestanden erheen kopieert. Waar je wel rekening mee moet houden is dat de inhoud naar de swap gestuurd kan worden als je systeem het geheugen op een andere plek beter kan gebruiken.

Offline koos4401

  • Lid
Re: RAM Disk
« Reactie #6 Gepost op: 2014/11/02, 18:27:42 »
Zie je verandering in het geheugengebruik vóór en ná het aanmaken van de RAMdisk?
Op 27-okt-2009 om 08.20 GMT geregistreerd als gebruiker nr.: 498523

Re: RAM Disk
« Reactie #7 Gepost op: 2014/11/02, 19:22:58 »
Nee, ik zie geen verandering in de systeemmonitor in het geheugengebruik voor en na het aanmaken van de RAM disk.

Groet,

JanFlorijn

Re: RAM Disk
« Reactie #8 Gepost op: 2014/11/02, 20:01:57 »
Het extra geheugengebruik zou je moeten zien zodra je de bestanden erheen kopieert. Waar je wel rekening mee moet houden is dat de inhoud naar de swap gestuurd kan worden als je systeem het geheugen op een andere plek beter kan gebruiken.

Dat zal dan wel een Linux-iets zijn zeker want op AOS4.1 heb ik dat nog nooit meegemaakt en ik gebruik de RAM Disk daar toch behoorlijk.

Re: RAM Disk
« Reactie #9 Gepost op: 2014/11/02, 20:06:47 »
Hallo,

De swap verandert niet.

Groet,

JanFlorijn

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: RAM Disk
« Reactie #10 Gepost op: 2014/11/02, 20:59:11 »
Dat zal dan wel een Linux-iets zijn zeker want op AOS4.1 heb ik dat nog nooit meegemaakt en ik gebruik de RAM Disk daar toch behoorlijk.
https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt
Citaat
tmpfs puts everything into the kernel internal caches and grows and
shrinks to accommodate the files it contains and is able to swap
unneeded pages out to swap space. It has maximum size limits which can
be adjusted on the fly via 'mount -o remount ...'

If you compare it to ramfs (which was the template to create tmpfs)
you gain swapping and limit checking. Another similar thing is the RAM
disk (/dev/ram*), which simulates a fixed size hard disk in physical
RAM, where you have to create an ordinary filesystem on top. Ramdisks
cannot swap and you do not have the possibility to resize them.

Je ziet dus pas een toename in het geheugengebruik zodra je iets in dat tmpfs zet. Verder kan data die niet in gebruik is in de swap geparkeerd worden.

De systeemmonitor is in mijn ervaring niet het handigste middel om het geheugengebruik te checken. Ik gebruik zelf meestal het terminalcommando free -m. Dit geeft het geheugengebruik weer in megabytes. Voor de duidelijkheid: je moet de kolom "Free" hebben en de regel "-/+ buffers/cache" voor het geheugen. De swap staat op de onderste regel.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: RAM Disk
« Reactie #11 Gepost op: 2014/11/02, 21:17:39 »
Proef op de som: ik heb een tmpfs aangemaakt van 3 GB en heb daar 2,8 GB aan bestanden ingezet.
De beginsituatie:
free -m
             total       used       free     shared    buffers     cached
Mem:          7949       7449        500          0        265       2352
-/+ buffers/cache:       4831       3117
Swap:         4035        248       3787

Na het kopiëren:
df -h
Filesystem                      Size  Used Avail Use% Mounted on
/dev/sda2                       235G  114G  110G  51% /

knip...
tmpfs                           3,0G  2,8G  232M  93% /mnt/ramdisk

Geheugengebruik na het kopiëren:
free -m
             total       used       free     shared    buffers     cached
Mem:          7949       7804        144          0          4       3164
-/+ buffers/cache:       4635       3313
Swap:         4035        254       3780


Er is nog niet heel veel verschil te zien (ik heb er wat ubuntu-iso's in gezet)...
Waar het meeste in zal gaan zitten is de cache: de normale bestandscache zal verdrongen worden door de inhoud van de ramdisk. Leeg je alle caches en bekijk je opnieuw de hoeveelheid geheugen, dan zie je dat er nog een hoop in de cache zit:
sync; echo 3 > /proc/sys/vm/drop_caches; free -m
             total       used       free     shared    buffers     cached
Mem:          7949       7085        863          0          7       2977
-/+ buffers/cache:       4100       3848
Swap:         4035        254       3780

Unmount je de ramdisk (en maak je hem dus leeg), dan pas zie je het echte verschil:
free -m
             total       used       free     shared    buffers     cached
Mem:          7949       4266       3683          0         12        154
-/+ buffers/cache:       4099       3850
Swap:         4035        254       3780

Wat het probleem van de systeemmonitor is, is dat het de cache niet (goed) weergeeft. Normaal gesproken kan je het gebruik van de cache negeren aangezien die automatisch groter of kleiner wordt naargelang het nodig is. Met een ramdisk zet je er zelf een hoop in, maar het systeem kan niet zelf beslissen om er weer wat uit te gooien.

Re: RAM Disk
« Reactie #12 Gepost op: 2014/11/05, 13:01:49 »
Goedenmiddag,

Dat is inderdaad herkenbaar. De systeemmonitor geeft het geheugengebruik niet goed weer. Met free krijg je inderdaad een ander beeld. Dan werkt het wel. Het komt er in mijn geval op neer dat je 2.6 gb data in TMPFS laadt, vanuit TMPFS laadt hij het op een of andere wijze in het werkgeheugen. Dan is er nog software die hier iets mee doet. Zo kan het dus zijn dat je voor 2.6 gb muziek samples 8 gb RAM gebruikt.

Op zich is dat prima.

Wat dat betreft is mijn vraag wat dit onderwerp betreft beantwoord.

Volgende stap voor mij is om aan te tonen dat muzieksamples van TMPFS in werkgeheugen laden sneller werkt dan van schijf naar werkgeheugen en het dus mogelijk is om alleen de samples die je gebruikt in het werkgeheugen te laden.

Groet,

JanFlorijn