[Dovecot] Dovecot 1.0beta8 dovecot-auth consumes 100% CPU time on
Solaris 10 amd64
Tore André Klock
klock at beacon.com
Wed May 31 19:16:20 EEST 2006
Timo Sirainen wrote:
> On May 31, 2006, at 6:26 PM, Tore André Klock wrote: The one strange thing
> here is that there seem to be two different poll() calls somewhere doing
> different things. If this is the case, the only place where this could happen
> is in PostgreSQL code. You haven't configured and enabled that also, right?
> :)
No, I only added --with-ldap. I don't believe I have any SQL enabled. I don't
even think PostgresSQL is even installed.
> Give -v pollsys parameters to truss. It shows what fd it is that's returning
> something all the time. Looks like in the one Solaris system I have you can
> get a list of file descriptors by looking at /proc/pid/fd/ directory
> contents. But I don't know how you could know where the sockets are connected
> to.
Here is the output after I re-enabled the ldap setup:
---cut----
Base time stamp: 1149091594.7831 [ Wed May 31 12:06:34 EDT 2006 ]
0.0010 pollsys(0xFFFFFD7FFFDFF6C0, 5, 0xFFFFFD7FFFDFF6A0, 0x00000000) = 0
fd=8 ev=POLLIN rev=0
fd=-1 ev=0 rev=0
...last pollfd structure repeated 3 times...
timeout: 0.000000000 sec
0.0011 pollsys(0xFFFFFD7FFFDFF6C0, 5, 0xFFFFFD7FFFDFF6A0, 0x00000000) = 0
fd=8 ev=POLLIN rev=0
fd=-1 ev=0 rev=0
...last pollfd structure repeated 3 times...
timeout: 0.000000000 sec
0.0012 pollsys(0x00467DC0, 10, 0xFFFFFD7FFFDFFAE0, 0x00000000) = 1
fd=5 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=1 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=POLLIN|POLLPRI
fd=0 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=3 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=9 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=10 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=11 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=12 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=13 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=14 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
timeout: 0.575000000 sec
0.0013 pollsys(0xFFFFFD7FFFDFF6C0, 5, 0xFFFFFD7FFFDFF6A0, 0x00000000) = 0
fd=8 ev=POLLIN rev=0
fd=-1 ev=0 rev=0
...last pollfd structure repeated 3 times...
timeout: 0.000000000 sec
0.0014 pollsys(0xFFFFFD7FFFDFF6C0, 5, 0xFFFFFD7FFFDFF6A0, 0x00000000) = 0
fd=8 ev=POLLIN rev=0
fd=-1 ev=0 rev=0
...last pollfd structure repeated 3 times...
timeout: 0.000000000 sec
0.0014 pollsys(0x00467DC0, 10, 0xFFFFFD7FFFDFFAE0, 0x00000000) = 1
fd=5 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=1 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=POLLIN|POLLPRI
fd=0 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=3 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=9 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=10 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=11 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=12 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=13 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
fd=14 ev=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL rev=0
timeout: 0.575000000 sec
---cut----
/proc/pid/fd only gives me a list of the file descriptions:
---cut---
s--------- 0 root root 0 May 31 12:06 0
c--------- 1 root sys 13, 2 May 31 12:00 1
s--------- 0 root root 0 May 31 12:06 10
s--------- 0 root root 0 May 31 12:06 11
s--------- 0 root root 0 May 31 12:06 12
s--------- 0 root root 0 May 31 12:06 13
s--------- 0 root root 0 May 31 12:08 14
s--------- 0 root root 0 May 31 12:08 15
p--------- 0 root root 0 May 31 12:08 2
s--------- 0 root root 0 May 31 12:06 3
c--------- 1 root sys 149, 1 May 31 08:41 4
p--------- 0 root root 0 May 31 12:06 5
p--------- 0 root root 0 May 31 12:06 6
D--------- 1 root root 0 May 12 10:52 7
s--------- 0 root root 0 May 31 12:08 8
s--------- 0 root root 0 May 31 12:06 9
---cut---
/proc/pid/path gives me:
---cut---
lrwxrwxrwx 1 root root 0 May 31 12:06 0
lrwxrwxrwx 1 root root 0 May 31 12:06 1 -> /devices/pseudo/mm at 0:null
lrwxrwxrwx 1 root root 0 May 31 12:06 10
lrwxrwxrwx 1 root root 0 May 31 12:06 11
lrwxrwxrwx 1 root root 0 May 31 12:06 12
lrwxrwxrwx 1 root root 0 May 31 12:06 13
lrwxrwxrwx 1 root root 0 May 31 12:06 15
lrwxrwxrwx 1 root root 0 May 31 12:06 2
lrwxrwxrwx 1 root root 0 May 31 12:06 3
lrwxrwxrwx 1 root root 0 May 31 12:06 4 ->
/devices/pseudo/random at 0:urandom
lrwxrwxrwx 1 root root 0 May 31 12:06 5
lrwxrwxrwx 1 root root 0 May 31 12:06 6
lrwxrwxrwx 1 root root 0 May 31 12:06 7 ->
/var/run/name_service_door
lrwxrwxrwx 1 root root 0 May 31 12:06 8
lrwxrwxrwx 1 root root 0 May 31 12:06 9
lrwxrwxrwx 1 root root 0 May 31 12:06 a.out ->
/usr/local/libexec/dovecot/dovecot-auth
lrwxrwxrwx 1 root root 0 May 31 12:06 cwd -> /var/run/dovecot
lrwxrwxrwx 1 root root 0 May 31 12:06 root -> /
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.12509 ->
/usr/lib/mps/amd64/libnspr4.so
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.12510 ->
/usr/lib/mps/amd64/libplc4.so
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.12511 ->
/usr/lib/mps/amd64/libplds4.so
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.12527 ->
/usr/lib/mps/amd64/libnss3.so
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.12531 ->
/usr/lib/mps/amd64/libsoftokn3.so
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.12532 ->
/usr/lib/mps/amd64/libssl3.so
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.2103 ->
/usr/lib/amd64/libldap.so.5
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.2298 ->
/lib/amd64/libmd5.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3883 ->
/lib/amd64/ld.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3885 ->
/lib/amd64/libaio.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3888 ->
/lib/amd64/libc.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3890 ->
/lib/amd64/libcmd.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3898 ->
/lib/amd64/libdl.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3899 ->
/lib/amd64/libdoor.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3910 ->
/lib/amd64/libmp.so.2
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3911 ->
/lib/amd64/libnsl.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3913 ->
/lib/amd64/libpam.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3915 ->
/lib/amd64/libpthread.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3919 ->
/lib/amd64/librt.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3922 ->
/lib/amd64/libscf.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3925 ->
/lib/amd64/libsendfile.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3926 ->
/lib/amd64/libsocket.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3928 ->
/lib/amd64/libthread.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.3931 ->
/lib/amd64/libuutil.so.1
lrwxrwxrwx 1 root root 0 May 31 12:06 ufs.85.1.4566 ->
/usr/lib/amd64/libsasl.so.1
---cut---
I configured dovecot to use straight PAM (unix authentication - still working on
the LDAP part), and dovecot-auth plays nice then. Looks like that may be a
workable fallback if the builtin won't work.
Thanks again,
- Tore
More information about the dovecot
mailing list