On Fri, 19 Nov 2010, Michel Sébastien wrote:
On a 32 bit architecture: we had one folder with over a million messages
which was causing processes to run out of virtual memory trying to map
the cache file in. This wouldn't be a problem with a 64 bit userland.
very impressive to have so much messages in one folder therefor in one
partition!.
We have hit this limit once, and so far only once, as well.
A user was sorting their email archive (thousands of messages) generating
copies to the Trash mailbox. They repeated this exercise multiple times.
Each time that the user reached hit their quota limit (several GBytes),
they emptied the Trash folder. Consequently the live mailbox itself never
contained huge numbers of messages. However delayed expunge means that a
lot of wreckage was left behind: hundreds of thousands of messages.
Easily fixed by a reconstruct which discarded the obsolete information.
Is mmap still efficient ? map a gigabit file should cost a lot of I/O
and a relatively long reponse time to just access the records of the
most recent emails.
The mmap() itself has very little cost.
It would only become a problem if something actually tried to read all of
the cache entries, causing the data to be paged in from disk.
--
David Carter Email: David.Carter@xxxxxxxxxxxxx
University Computing Service, Phone: (01223) 334502
New Museums Site, Pembroke Street, Fax: (01223) 334679
Cambridge UK. CB2 3QH.
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/