Hi, i have a imap server with cyrus running under FreeBSD 5.3-RELEASE. There are around 25000 mailboxes (around 30gb small mails). When starting cyrus, the lmtpd is in vmpfw state for around 15 minutes and consumes very much cpu and memory. When using truss, i see a lseek loop. What exactly is the vmpfw state and how can i accelerate that thing? Mit herzlichen Gr?ssen aus Frankfurt am Main, Michael Riexinger systems engineer -- claranet gmbh internet service provider tel +49 (0) 69 - 40 80 18 - 300 email: michael.riexinger@de.clara.net http://www.claranet.de/
On Tue, 21 Dec 2004 10:49:29 +0100, Michael Riexinger <michael.riexinger@de.clara.net> wrote:> Hi, > > i have a imap server with cyrus running under FreeBSD 5.3-RELEASE. There > are around 25000 mailboxes (around 30gb small mails). When starting > cyrus, the lmtpd is in vmpfw state for around 15 minutes and consumes > very much cpu and memory. When using truss, i see a lseek loop. What > exactly is the vmpfw state and how can i accelerate that thing?I did this in /usr/src. grep -r --mmap vmpfw * sys/vm/vm_fault.c: if (!vm_page_sleep_if_busy(fs.m, TRUE, "vmpfw")) Just above this line is a comment explaining what is happening here in a technical way. I think your imap server is mapping all files in memory which can take quite long if your memory isn't 30GB. Do you have more info about your system? Memory/CPU/NFS?/local disk? Are the mailboxes in mbox format or Maildir? Searching in google on 'vmpfw' gives nfs issues with it while using pine on a nfs mounted mail folder. (results from 1999 about older versions freebsd) Ronald. -- Ronald Klop, Amsterdam, The Netherlands
On Tue, 21 Dec 2004, Michael Riexinger wrote:> i have a imap server with cyrus running under FreeBSD 5.3-RELEASE. There > are around 25000 mailboxes (around 30gb small mails). When starting > cyrus, the lmtpd is in vmpfw state for around 15 minutes and consumes > very much cpu and memory. When using truss, i see a lseek loop. What > exactly is the vmpfw state and how can i accelerate that thing?How much memory does the system have? The vmpfw WCHAN is used in the pagefault handler when the page its trying to fault in is busy. You have problems with pages getting stuck busy if the system is either swapping heavily or the disk is too busy to fault in the pages in the first place. -- Doug White | FreeBSD: The Power to Serve dwhite@gumbysoft.com | www.FreeBSD.org