[Dovecot] imap processes eating IO
[Ignore the previous e-mail, I somehow sent it when I was trying to paste from clipboard]
I recently migrated my dovecot/postfix setup to a new machine. After doing so, I have encountered a problem where imap processes get stuck in a loop eating loads of IO on the machine. Looking at the trace (snippet below), it looks like they are sitting and reading the inbox and other folders of certain users repeatedly. This seems to be triggered by the delivery of a new e-mail to the user's mailbox while they have an IMAP client connected, though I cannot say for sure.
This had never happened before on the old machine. I'm certain more information would be useful, please let me know what I can provide to help!
Trace of process 22342 - imap lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203440140.P6242Q0M41485.scarecrow:2,RSc", {st_mode=S_IFREG|0600, st_size=3079, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203446630.P7458Q0M562949.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=27769, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203454830.P9042Q0M402016.scarecrow:2,RSe", {st_mode=S_IFREG|0600, st_size=730534, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203460967.P10096Q0M631472.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=2690, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203463833.P10601Q0M946162.scarecrow:2,Sbc", {st_mode=S_IFREG|0600, st_size=2319, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203468449.P11425Q0M422185.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=2650, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203469387.P11575Q0M276926.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1317, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203472851.P12516Q0M604824.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=2491, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203474105.P12705Q0M450957.scarecrow:2,RS", {st_mode=S_IFREG|0600, st_size=1489, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203474330.P12758Q0M302789.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=1483, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203474352.P12765Q0M853382.scarecrow:2,RS", {st_mode=S_IFREG|0600, st_size=1520, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203475497.P12947Q0M759098.scarecrow:2,RS", {st_mode=S_IFREG|0600, st_size=1554, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203476420.P13131Q0M140164.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1011, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203477055.P13350Q0M324248.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=1511, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203485834.P14664Q0M678604.scarecrow:2,RSc", {st_mode=S_IFREG|0600, st_size=2153, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203555290.P27989Q0M937789.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=2017, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203566780.P29789Q0M486178.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1570, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1216416810.P17960Q0M786183.tinman:2,S", {st_mode=S_IFREG|0600, st_size=1447, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203567387.P29984Q0M463701.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1560, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203568156.P30125Q0M174453.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1570, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203568755.P30222Q0M271021.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1555, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203578404.P31535Q0M370292.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1125, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203581122.P31861Q0M954508.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=2108, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203596470.P3307Q0M326986.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=2738, ...}) = 0 getdents64(12, /* 64 entries */, 4096) = 4096 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203615744.P6582Q0M282341.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=2027, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203619209.P7288Q0M583007.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=8739, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203629165.P9049Q0M921642.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=3049, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203638438.P10774Q0M313047.scarecrow:2,RS", {st_mode=S_IFREG|0600, st_size=8889, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203639137.P10877Q0M554068.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=9549, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203679395.P16427Q0M89616.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1364, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203689732.P20116Q0M93680.scarecrow:2,Sbc", {st_mode=S_IFREG|0600, st_size=2440, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203690022.P20155Q0M909689.scarecrow:2,Sbc", {st_mode=S_IFREG|0600, st_size=2303, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203693712.P20948Q0M30023.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=3991, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203693933.P20990Q0M934746.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=2371, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203695416.P21386Q0M135204.scarecrow:2,RS", {st_mode=S_IFREG|0600, st_size=6992, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203698879.P21995Q0M135839.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1691, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203700228.P22234Q0M28365.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1013, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203703239.P23143Q0M571200.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=2122, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203704119.P23375Q0M653158.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=2256, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203713490.P25274Q0M840767.scarecrow:2,RSc", {st_mode=S_IFREG|0600, st_size=19577, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203736413.P29935Q0M732560.scarecrow:2,RSc", {st_mode=S_IFREG|0600, st_size=3143, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203802545.P10420Q0M281614.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=2620, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203803404.P10616Q0M912757.scarecrow:2,RSc", {st_mode=S_IFREG|0600, st_size=2622, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203804020.P10721Q0M538580.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=3003, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203805331.P10980Q0M701431.scarecrow:2,RS", {st_mode=S_IFREG|0600, st_size=2361, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203809386.P25318Q0M128371.scarecrow:2,RSc", {st_mode=S_IFREG|0600, st_size=4004, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203809725.P27021Q0M447783.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=3679, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203813058.P6051Q0M690481.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=816, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203874686.P31025Q0M52827.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=2933, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203892798.P6675Q0M22252.scarecrow:2,RSc", {st_mode=S_IFREG|0600, st_size=2357, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203892996.P6750Q0M114883.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=1561, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203896197.P7621Q0M934348.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=616, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203896810.P8108Q0M440868.scarecrow:2,RS", {st_mode=S_IFREG|0600, st_size=3620, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203900525.P10657Q0M868027.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=6304, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203902148.P10984Q0M386235.scarecrow:2,S", {st_mode=S_IFREG|0600, st_size=3086, ...}) = 0
On Sun, 2008-07-27 at 12:09 -0500, Ryan Rawdon wrote:
lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203440140.P6242Q0M41485.scarecrow:2,RSc", {st_mode=S_IFREG|0600, st_size=3079, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203446630.P7458Q0M562949.scarecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=27769, ...}) = 0
You're most likely using dirsize quota backend. http://wiki.dovecot.org/Quota/Dirsize
Timo Sirainen wrote:
You're most likely using dirsize quota backend. http://wiki.dovecot.org/Quota/Dirsize
I wish it was that simple, but I am currently using maildir++ for quota and did not see this behavior on the previous system which had the same hardware as the new one.
On Sun, 2008-07-27 at 13:15 -0500, Ryan Rawdon wrote:
Timo Sirainen wrote:
You're most likely using dirsize quota backend. http://wiki.dovecot.org/Quota/Dirsize
I wish it was that simple, but I am currently using maildir++ for quota and did not see this behavior on the previous system which had the same hardware as the new one.
What Dovecot version? Did it change during the move?
Timo Sirainen wrote:
On Sun, 2008-07-27 at 13:15 -0500, Ryan Rawdon wrote:
Timo Sirainen wrote:
You're most likely using dirsize quota backend. http://wiki.dovecot.org/Quota/Dirsize
I wish it was that simple, but I am currently using maildir++ for quota and did not see this behavior on the previous system which had the same hardware as the new one.
What Dovecot version? Did it change during the move?
Yes, 1.0.5 --> 1.0.10
Ryan Rawdon wrote:
Timo Sirainen wrote:
On Sun, 2008-07-27 at 13:15 -0500, Ryan Rawdon wrote:
Timo Sirainen wrote:
You're most likely using dirsize quota backend. http://wiki.dovecot.org/Quota/Dirsize
I wish it was that simple, but I am currently using maildir++ for quota and did not see this behavior on the previous system which had the same hardware as the new one.
What Dovecot version? Did it change during the move?
Yes, 1.0.5 --> 1.0.10
Today I got past this problem, I figured I would share. Unfortunately I don't know what the exact cause.
This mail server has been running on Ubuntu Hardy this whole time.
Today I looked at Intrepid's repositories and saw that it has Dovecot
1.1.4. I upgraded Dovecot and its dependencies from the Intrepid
repositories and this problem disappeared with no extra effort needed.
Hopefully this helps someone, Ryan
On Sunday 27 July 2008, Timo Sirainen wrote:
On Sun, 2008-07-27 at 12:09 -0500, Ryan Rawdon wrote:
lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203440140.P6242Q0M41485.sc arecrow:2,RSc", {st_mode=S_IFREG|0600, st_size=3079, ...}) = 0 lstat64("/home/vmail/u13.net/ryan/Maildir/cur/1203446630.P7458Q0M562949.s carecrow:2,Sc", {st_mode=S_IFREG|0600, st_size=27769, ...}) = 0
You're most likely using dirsize quota backend. http://wiki.dovecot.org/Quota/Dirsize
That's why I would like to see S= everywhere. Reading dir once tells you everything and no need to stat() thousands times.
-- Arkadiusz Miśkiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/
participants (3)
-
Arkadiusz Miskiewicz
-
Ryan Rawdon
-
Timo Sirainen