buffer(1) seems to be old-ish and have hard-coded values preventing it to cache large amount of data.
$ buffer -m 1G
max_shmem 1 too low
// it doesn't even understand gigabytes
$ buffer -m 1000M
Cannot handle that many blocks, aborting!
$ buffer -m 1000M -s 1m
blocksize 1048576 out of range
What do use instead?