[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [linux-lvm] how much memory does LVM need? oom-killer comes



Stuart D. Gathman schrieb:
On Mon, 3 Sep 2007, Tomasz Chmielewski wrote:

Again, replying to myself, as no one on this list seem to have a clue about problems with LVM snapshots... I added RAM, and was able to boot again.

I may have an answer after all.  I suspect that the chunksize parameter
to lvcreate -s will affect memory use.  A larger chunksize should use
less memory.

So, as a rule of thumb, we can say that for each *used* GB of snapshot, ~3 MB of RAM is needed.

On my snapshots on Centos-5, the chunksize defaults to 8k.  With your
observation of 3MB per Gig of snapshot, that comes to 24 bytes per chunk.
Quite reasonable.  If you make your chunksize 512K (the maximum supported),
memory use should change to 48K per Gig.

lvdisplay will show the chunksize for a snapshot.

Indeed, it was 8 kB.

What is the meaning of the chunksize in snapshots?

With 512 kB chunksize, I guess the snapshot will fill faster than with 8 KB chunksize, given that the same amount of data changes?


Here is a quick test that shows it.

I created two 20 GB snapshots of a 20GB volume, one with 8kB, and the other with 512 kB chunksize.

Then, I created a 50 MB file on the original volume (out of /dev/zero):

  build1                  san1 owi-ao  20.00G
  build1-512              san1 swi-a-  20.00G build1            0.09
  build1-8                san1 swi-a-  20.00G build1            0.08

Copying /bin, /boot and /lib (71 MB in total) into a new directory makes that difference bigger:

  build1                  san1 owi-ao  20.00G
  build1-512              san1 swi-a-  20.00G build1            0.76
  build1-8                san1 swi-a-  20.00G build1            0.62

Copying a 1.2 GB /usr into a new directory shows this:

  build1-512              san1 swi-a-  20.00G build1            7.40
  build1-8                san1 swi-a-  20.00G build1            7.18


And finally, create 1000000 empty files:

  build1                  san1 owi-ao  20.00G
  build1-512              san1 swi-a-  20.00G build1            8.22
  build1-8                san1 swi-a-  20.00G build1            7.91


The difference is not that big, usually it should be below 5%.


--
Tomasz Chmielewski
http://wpkg.org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]