Community Forums
Connect with us on LinkedIn
Community Notice
+ Reply to Thread
Results 1 to 4 of 4
  1. #1
    Member
    Join Date
    May 2005
    Posts
    17

    Default /usr/local/cpanel/bin/courier-auth what is this?

    What is /usr/local/cpanel/bin/courier-auth? It is linked to from /etc/authlib/authProg. It uses 8.4MB of memory for each process. It has something to do with authentication for Imap. Normally 5 of these processes are run (as configured in /etc/authlib/authdaemonrc). I lowered it to 1 already but it is still excessive.

    This doesn't appear to be the Courier Imap authencation process. It looks like something that is custom to Cpanel and working as a Pipe. It also doesn't appear to fork itself so when I said 8.4MB of memory for each process, it really uses that much. No copy on write optimization from the Linux kernel. The actual Imap processes use far less. mysqld only uses 5MB.

    There have been other threads about this processes memory usage. Could Cpanel shed some light on this please? Where is the source code? Can we get access to the source code as the binary is not in the 3rdparty/bin directory.

    This doesn't look encouraging.

    root@vps [/usr/local/cpanel/bin]# ldd courier-auth
    libnsl.so.1 => /lib/libnsl.so.1 (0xb7fc9000)
    libdl.so.2 => /lib/libdl.so.2 (0xb7fc4000)
    libm.so.6 => /lib/tls/libm.so.6 (0xb7fa1000)
    libc.so.6 => /lib/tls/libc.so.6 (0xb7e76000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7e48000)
    libutil.so.1 => /lib/libutil.so.1 (0xb7e44000)
    /usr/local/cpanel/perl/IO/IO.so (0xb7e3f000)
    /usr/local/cpanel/perl/Digest/MD5/MD5.so (0xb7e3a000)
    /usr/local/cpanel/perl/Sys/Hostname/Hostname.so (0xb7e38000)
    /usr/local/cpanel/perl/POSIX/POSIX.so (0xb7e22000)
    /usr/local/cpanel/perl/Storable/Storable.so (0xb7e11000)
    /usr/local/cpanel/perl/version/vxs/vxs.so (0xb7e0b000)
    /usr/local/cpanel/perl/Cwd/Cwd.so (0xb7e07000)
    /usr/local/cpanel/perl/Fcntl/Fcntl.so (0xb7e04000)
    /usr/local/cpanel/perl/libperl.so (0xb7d1c000)
    /lib/ld-linux.so.2 (0xb7fe9000)

    In fact a lot of this doesn't look encouraging.

    root@vps [/usr/local/cpanel]# ldd cpsrvd
    libnsl.so.1 => /lib/libnsl.so.1 (0xb7fc9000)
    libdl.so.2 => /lib/libdl.so.2 (0xb7fc4000)
    libm.so.6 => /lib/tls/libm.so.6 (0xb7fa1000)
    libc.so.6 => /lib/tls/libc.so.6 (0xb7e76000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7e48000)
    libutil.so.1 => /lib/libutil.so.1 (0xb7e44000)
    /usr/local/cpanel/perl/Fcntl/Fcntl.so (0xb7e41000)
    /usr/local/cpanel/perl/IO/IO.so (0xb7e3b000)
    /usr/local/cpanel/perl/BSD/Resource/Resource.so (0xb7e37000)
    /usr/local/cpanel/perl/Sys/Hostname/Hostname.so (0xb7e35000)
    /usr/local/cpanel/perl/Storable/Storable.so (0xb7e24000)
    /usr/local/cpanel/perl/Sys/Syslog/Syslog.so (0xb7e20000)
    /usr/local/cpanel/perl/Digest/MD5/MD5.so (0xb7e1b000)
    /usr/local/cpanel/perl/Compress/Zlib/Zlib.so (0xb7e01000)
    /usr/local/cpanel/perl/Cpanel/UniqId/UniqId.so (0xb7dff000)
    /usr/local/cpanel/perl/String/CRC32/CRC32.so (0xb7dfd000)
    /usr/local/cpanel/perl/IO/Interface/Interface.so (0xb7df8000)
    /usr/local/cpanel/perl/POSIX/POSIX.so (0xb7de1000)
    /usr/local/cpanel/perl/Socket/Socket.so (0xb7ddc000)
    /usr/local/cpanel/perl/version/vxs/vxs.so (0xb7dd6000)
    /usr/local/cpanel/perl/Cwd/Cwd.so (0xb7dd3000)
    /usr/local/cpanel/perl/Cpanel/OS/OS.so (0xb7dd0000)
    /usr/local/cpanel/perl/libperl.so (0xb7ce7000)
    /lib/ld-linux.so.2 (0xb7fe9000)


    Lets take a look at the memory hitters over 2MB (I optimized Apache way down.).

    4 0 24207 18258 16 0 7232 2480 - Ss ? 0:00 sshd: root@pts/0
    1 25 18229 1 19 0 67596 3400 rt_sig Ssl ? 0:00 /usr/sbin/named -u named
    1 0 19718 1 16 0 6892 5096 - S ? 0:00 cpbandwd
    4 100 18306 18282 16 0 21388 5124 - Sl ? 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/
    1 47 19665 1 16 0 7824 5268 - S ? 0:00 eximstats
    5 0 19720 1 34 19 9604 6752 - SN ? 0:00 cpanellogd - sleeping for logs
    1 0 18338 1 16 0 9756 8016 - S ? 0:00 chkservd
    4 0 26591 18255 16 0 9876 8400 pipe_w S ? 0:00 /etc/authlib/authProg
    1 0 19768 1 16 0 17456 9080 - S ? 0:03 cpsrvd - waiting for connections
    1 0 19869 1 16 0 25708 23544 - Ss ? 0:00 /usr/bin/spamd -d --allowed-ips=127.0.0.1 --pidfile=/var/run/spamd.pid --max-children=1
    5 0 19875 19869 16 0 27108 24964 - S ? 0:00 spamd child


    Compiled Perl Code: courier-auth (/etc/authlib/authProg), cpsrvd
    Perl Code: cpbandwd, eximstats, cpanellogd, chkservd, and of course spamd

    I have nothing against Perl. I love the langauge. But, even though the compiled Perl code is dynamically linked, the Perl interpreter uses most of the memory. Not the mention the Perl daemons we have the source to. Well, I will spend sometime trying to optimize Perl to use less memory for the code I have. But, it would be nice to know what exactly the Cpanel courier-auth does (that the normal one doesn't do) to see what can be optimized here.


    Running separate Perl VMs is like running separate Java VMs per class. We should be able to find a way to share an interpreter for the less security critical daemons.

    Thanks...

    dicen

  2. #2
    Member
    Join Date
    May 2005
    Posts
    17

    Default

    Now /etc/authlib/authProg (/usr/local/cpanel/bin/courier-auth) is using 2MB instead of over 8MB. Something changed here. This file was modified on Dec 26 of 2006. I was not the only one who mentioned the memory usage of this process. Did Cpanel do something here? Please share. We do like to compliment you sometimes .

    VSZ RSS
    9884 2132 pipe_w S ? 0:19 /etc/authlib/authProg
    6896 2776 - S ? 0:05 cpbandwd
    7848 3416 - S ? 0:01 eximstats
    9724 4124 - S ? 0:31 chkservd
    9772 5296 - SN ? 0:15 cpanellogd - sleeping for logs
    17484 14956 - S ? 0:00 cpsrvd - waiting for connections
    25776 8632 - Ss ? 0:04 /usr/bin/spamd -d ...
    27896 20532 - S ? 0:00 spamd child

    Compiled Perl using the /usr/local/cpanel/perl library files.
    /etc/authlib/authProg
    cpsrvd

    Perl script daemons using /usr/bin/perl on my CentOS based VPS (5.8.7).
    cpbandwd
    eximstats
    chkservd
    cpanellogd
    spamd

    It looks like memory usage has improved for a number of these (and gotten worse for others). But things are definitely better and headed in the right direction.

    Thanks...

    dicen

  3. #3
    Super Moderator This forum account has been confirmed by cPanel staff to represent a vendor. chirpy's Avatar
    Join Date
    Jun 2002
    Location
    Go on, have a guess
    Posts
    13,495

    Default

    /usr/local/cpanel/bin/courier-auth is the authentication daemon for courier-imap which is the default POP3/IMAP server on cPanel servers.
    Jonathan Michaelson

    Need your cPanel servers secured and tuned?
    cPanel Server Configuration, Security, Recovery and Antivirus/AntiSpam Services
    Developers of the most effective (and free) Firewall & Security Solution for cPanel Servers - csf
    http://www.configserver.com

  4. #4
    cPanel Staff cpanelnick's Avatar
    Join Date
    Feb 2003
    Location
    Houston, TX
    Posts
    4,514

    Default

    Quote Originally Posted by dicen View Post
    Now /etc/authlib/authProg (/usr/local/cpanel/bin/courier-auth) is using 2MB instead of over 8MB. Something changed here. This file was modified on Dec 26 of 2006. I was not the only one who mentioned the memory usage of this process. Did Cpanel do something here? Please share. We do like to compliment you sometimes .

    VSZ RSS
    9884 2132 pipe_w S ? 0:19 /etc/authlib/authProg
    6896 2776 - S ? 0:05 cpbandwd
    7848 3416 - S ? 0:01 eximstats
    9724 4124 - S ? 0:31 chkservd
    9772 5296 - SN ? 0:15 cpanellogd - sleeping for logs
    17484 14956 - S ? 0:00 cpsrvd - waiting for connections
    25776 8632 - Ss ? 0:04 /usr/bin/spamd -d ...
    27896 20532 - S ? 0:00 spamd child

    Compiled Perl using the /usr/local/cpanel/perl library files.
    /etc/authlib/authProg
    cpsrvd

    Perl script daemons using /usr/bin/perl on my CentOS based VPS (5.8.7).
    cpbandwd
    eximstats
    chkservd
    cpanellogd
    spamd

    It looks like memory usage has improved for a number of these (and gotten worse for others). But things are definitely better and headed in the right direction.

    Thanks...

    dicen
    cpsrvd should be a lot smaller in 11.x
    [process] [mem size] [file size]
    cpsrvd - waiting for connections 9812 11264036

Similar Threads & Tags
Similar threads

  1. Replies: 0
    Last Post: 02-26-2007, 05:19 PM
  2. /usr/local/cpanel/bin/mailrouteadmin ?
    By jamesbond in forum cPanel and WHM Discussions
    Replies: 1
    Last Post: 10-14-2006, 04:30 PM
  3. /usr/local/cpanel/whostmgr/bin/dnsqueue
    By roscolux in forum cPanel and WHM Discussions
    Replies: 0
    Last Post: 09-30-2004, 11:58 PM
  4. Re: Cron <mailman@srv08> /usr/bin/python -S /usr/local/cpanel/3rd
    By sexy_guy in forum cPanel and WHM Discussions
    Replies: 2
    Last Post: 06-22-2003, 02:02 PM
Linkedin       Facebook       Twitter       RSS       Flickr       YouTube