web-dev-qa-db-ja.com

saslauthdがメモリを使いすぎています

今日起きて、私のサイトが遅い/応答しないのを見ました。上部に引き上げると、大量のsaslauthdプロセスがそれぞれ約64mのRAMを使用してスピンアップし、マシンがスワップスペースに入る原因となったようです。これほど多くのプロセスがそこで使用されているのを見たことがありません。

top - 16:54:13 up 85 days, 11:48,  1 user,  load average: 0.32, 0.50, 0.38
Tasks: 143 total,   1 running, 142 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.7%us,  0.3%sy,  0.0%ni, 97.3%id,  0.2%wa,  0.0%hi,  0.0%si,  1.4%st
Mem:   1048796k total,  1025904k used,    22892k free,    14032k buffers
Swap:  2097144k total,   332460k used,  1764684k free,   194348k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                  
  848 admin     20   0  263m 115m 4840 S    0 11.3   5:02.91 Ruby                                                                                      
  906 admin     20   0  265m 113m 4828 S    0 11.1   5:37.24 Ruby                                                                                      
30484 admin     20   0  248m  91m 4256 S    6  9.0 219:02.30 delayed_job                                                                               
 4075 root      20   0  160m  65m  952 S    0  6.4   0:24.22 saslauthd                                                                                 
 4080 root      20   0  162m  64m  936 S    0  6.3   0:24.48 saslauthd                                                                                 
 4079 root      20   0  162m  64m  936 S    0  6.3   0:24.70 saslauthd                                                                                 
 4078 root      20   0  164m  63m  936 S    0  6.2   0:24.66 saslauthd                                                                                 
 4077 root      20   0  163m  62m  936 S    0  6.1   0:24.66 saslauthd                                                                                 
 3718 mysql     20   0  312m  52m 3588 S    1  5.1   3499:40 mysqld                                                                                    
  699 root      20   0 72744 7640 2164 S    0  0.7   0:00.50 Ruby                                                                                      
15701 postfix   20   0  106m 5712 4164 S    1  0.5   0:00.50 smtpd                                                                                     
15702 postfix   20   0 52444 3252 2452 S    1  0.3   0:00.06 cleanup                                                                                   
 4062 postfix   20   0 41884 3104 1788 S    0  0.3 125:26.01 qmgr                                                                                      
15683 root      20   0 51504 2780 2180 S    0  0.3   0:00.04 sshd                                                                                      
14595 postfix   20   0 52308 2548 2304 S    1  0.2   0:24.60 proxymap                                                                                  
15483 postfix   20   0 43380 2544 1992 S    0  0.2   0:00.38 smtp                                                                                      
15486 postfix   20   0 43380 2544 1992 S    0  0.2   0:00.36 smtp                                                                                      
15488 postfix   20   0 43380 2540 1992 S    0  0.2   0:00.38 smtp                                                                                      
15485 postfix   20   0 43380 2532 1984 S    0  0.2   0:00.36 smtp                                                                                      
15489 postfix   20   0 43380 2532 1984 S    0  0.2   0:00.40 smtp 

Saslauthdが何であるかわからなかった、Googleはそれがplantext認証を扱うと言います。マシンは接尾辞を介して多くの電子メールを送信しているので、これは関連している可能性があります。

なぜそんなに多くの人がスピンアップしたのか誰もが知っていますか?彼らは安全に殺すことができますか?ありがとう!

6
Brian Armstrong

私は同じ問題を抱えています-キャッシュを無効にすることが可能であるはずです。

Debianでのキャッシュを無効にするには、/ etc/default/saslauhtdを編集する必要があります。

OPTIONS="-r -c -m /var/spool/postfix/var/run/saslauthd"

キャッシュサイズを5MBに制限するには、-sパラメータを追加します。

OPTIONS="-s 5120 -r -c -m /var/spool/postfix/var/run/saslauthd"

同じファイル内のデーモンの数を制限するには:

THREADS=2

OPTIONS変数には、saslauthdデーモンのパラメーターが含まれています。他のLinuxシステムでも使用できます。

しかし、それは時々効果がないようです...

Pamやmysqlを使用する場合、いくつかの既知のメモリリークがあります。

例えば。 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=37981

6
Andreas Rehm

Saslauthは、認証後にユーザーがメールを送信することを許可します。これをSMTPSプロトコルで使用して、認証されたユーザーがサーバーでメールを中継できるようにすることができます。設定しますか?これは、-aオプションで使用できる一連の認証メカニズムです。完全なコマンドラインでps/topをチェックして、-aオプションを確認します。

Postfixと相互作用するため、postfixvar環境に配置する必要があります。デフォルトではDebianには当てはまらず、CPUまたはメモリを消費することを覚えています。必要なディレクトリが実際に存在し、権限が適切である場合は、-mオプションを確認してください

1
Dom

古いスレッドですが、私の答えが役に立ちます。 saslauthdの代わりにcourier-authdaemonを使用しました。詳細 https://github.com/pulecp/ubuntu-postfix-cyrus

0
user197346