今天醒来发现我的网站很慢/没有响应。查看顶部,似乎有大量 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 身份验证。该机器一直通过 postfix 发送大量电子邮件,因此这可能与此有关。
有人知道为什么这么多的病毒会爆发吗?杀掉它们安全吗?谢谢!
答案1
我有同样的问题 - 应该可以禁用缓存。
要在 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,则存在一些已知的内存泄漏。
答案2
Saslauth 允许您的用户在经过身份验证后发送邮件。您可以在 SMTPS 协议中使用它,以允许经过身份验证的用户通过您的服务器中继邮件。您配置了吗?-a 选项提供了一组可用的身份验证机制。使用完整的命令行检查您的 ps/top 以查看 -a 选项。
由于它与 Postfix 交互,因此应将其放置在 postfix var 环境中。我记得默认情况下 Debian 中不是这种情况,并且会占用 CPU 或内存。检查 -m 选项,看看您想要的目录是否确实存在,并且权限是否良好
答案3
这是旧帖子,但我的回答可以提供帮助。我使用了 courier-authdaemon 而不是 saslauthd。更多信息https://github.com/pulecp/ubuntu-postfix-cyrus