当蛤lam运行时,服务器在重新启动时挂起

加瓦农

简而言之

重新启动通常需要不到1分钟的时间,但是如果clamav-daemon正在运行,则重新启动将完全需要30分钟。

概述

我有一个Ubuntu 15.10“云”邮件服务器:postfix,dovecot,mysql,可通过SSH访问。这已经工作了好几个星期,并在不到1分钟的时间内重启。一切都很好,直到我通过Ubuntu的apt-get安装软件包安装了Amavis-现在每次重新启动仅花费30分钟。

运行时,一切正常。我检查了日志,没有明显的问题。Clamav正在工作,邮件收发,CPU使用率在0%到0.5%之间波动。

我的理论

我已将问题缩小到clamav-daemon消除的过程。唯一的新安装是Amavis,它添加​​了新的守护程序。如果我都停止了它们(amavisclamav-daemonclamav-freshclam),则重新启动是即时的。如果我只是停止clamav-daemon,重新启动是即时的。但是,如果我继续运行并停止所有其他运行,则重新启动又需要30分钟。

这是完全可重复的,等待总是恰好30分钟。这让我认为Clamav正在等待用户输入,超时时间为30分钟。

我可以看到Clamav的进程正在使用“ --foreground=true运行这使我认为Amavis故意这样做是为了捕获输出,但是不希望在重新启动过程中出现提示。

从htop: 在此处输入图片说明

我的日志

注意:/etc/init.d/sendsigsreport_unkillable启用以捕获不可杀死的进程,并且/etc/default/apport已启用。/var/crash最近没有登录

(大约在14:51左右重新启动,并且直到15:23-30分钟后服务器才准备好SSH,之间没有错误。)

/var/log/clamav/clamav.log

...
14:52:45 2016 -> --- Stopped at Fri 14:52:45 2016
15:23:04 2016 -> +++ Started at Fri 15:23:04 2016
15:23:04 2016 -> Received 1 file descriptor(s) from systemd.
15:23:04 2016 -> clamd daemon 0.98.7 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64)
15:23:04 2016 -> Running as user clamav (UID 119, GID 127)
...

/var/log/mail.log

...
14:51:15 mail amavis[1578]: Using primary internal av scanner code for ClamAV-clamd
14:51:15 mail amavis[1578]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan
14:51:15 mail amavis[1578]: Deleting db files __db.001,nanny.db,__db.003,snmp.db,__db.002 in /var/lib/amavis/db
14:51:15 mail amavis[1578]: Creating db in /var/lib/amavis/db/; BerkeleyDB 0.55, libdb 5.3
15:23:05 mail postgrey[820]: Process Backgrounded
15:23:05 mail postgrey[820]: 2016/02/12-15:23:05 postgrey (type Net::Server::Multiplex) starting! pid(820)
15:23:05 mail postgrey[820]: Resolved [localhost]:10023 to [::1]:10023, IPv6
15:23:05 mail postgrey[820]: Resolved [localhost]:10023 to [127.0.0.1]:10023, IPv4
...

/ var / log / syslog

...
14:52:18 mail systemd[1]: Stopping ClamAV virus database updater...
14:52:18 mail freshclam[760]: Update process terminated
14:52:18 mail systemd[1]: Stopped ClamAV virus database updater.
14:52:42 mail systemd[1]: Stopped Setup Virtual Console.
14:52:42 mail systemd[1]: Stopping LVM2 PV scan on device 202:2...
14:52:42 mail systemd[1]: Deactivating swap /dev/disk/by-uuid/758b48d5-df40-4ca8-af0d-a482044d21dd...
14:52:42 mail systemd[1]: Stopping Authenticate and Authorize Users to Run Privileged Tasks...
14:52:42 mail systemd[1]: Stopping User Manager for UID 1000...
14:52:42 mail systemd[1907]: Reached target Shutdown.
14:52:42 mail swapoff[2140]: swapoff: /dev/mapper/ubuntu-swap: swapoff failed: Cannot allocate memory
14:52:42 mail systemd[1907]: Starting Exit the Session...
14:52:42 mail systemd[1907]: Stopped target Default.
14:52:42 mail systemd[1]: Stopping Session 1 of user gavannon.
14:52:42 mail systemd[1907]: Stopped target Basic System.
14:52:42 mail systemd[1907]: Stopped target Sockets.
14:52:42 mail systemd[1]: Stopped target Graphical Interface.
14:52:42 mail systemd[1907]: Stopped target Paths.
14:52:42 mail systemd[1907]: Stopped target Timers.
14:52:42 mail systemd[1]: Removed slice system-ifup.slice.
14:52:42 mail systemd[1]: Removed slice system-systemd\x2dfsck.slice.
14:52:42 mail systemd[1]: Stopped target Timers.
14:52:42 mail systemd[1]: Stopping Accounts Service...
14:52:42 mail systemd[1]: Stopped target Multi-User System.
14:52:42 mail systemd[1]: Stopped Set Cloud Password.
14:52:42 mail systemd[1]: Stopping LSB: Record successful boot for GRUB...
14:52:42 mail systemd[1]: Stopping LSB: Starts amavisd-new mailfilter...
14:52:42 mail systemd[1]: Stopping OpenBSD Secure Shell server...
14:52:42 mail systemd[1]: Stopped target Login Prompts.
14:52:42 mail systemd[1]: Stopping Getty on tty1...
14:52:42 mail systemd[1]: Stopping LSB: XenServer Virtual Machine daemon providing host integration services...
14:52:42 mail rsyslogd: [origin software="rsyslogd" swVersion="8.12.0" x-pid="729" x-info="http://www.rsyslog.com"] exiting on signal 15.

(Something must be happening here, because the next line isn't for 30 minutes)

15:23:04 mail rsyslogd: [origin software="rsyslogd" swVersion="8.12.0" x-pid="770" x-info="http://www.rsyslog.com"] start
15:23:04 mail rsyslogd-2222: command 'KLogPermitNonKernelFacility' is currently not permitted - did you already set it via a RainerScript command (v6+ $
15:23:04 mail rsyslogd: rsyslogd's groupid changed to 109

这种情况发生在14:52的最后一件事是日志关闭(rsyslogdexiting)。下一行是在启动时再次启动的日志,但是30分钟之后!

尼尔斯·布劳内斯(Nils Breunese)

我在CentOS 7服务器上有一个类似的问题(也需要约30分钟才能重新启动),而我的日志与您遇到的问题相同的是swapoff failed: Cannot allocate memory条目。显然,在关闭序列期间的某个时间点,当没有足够的可用RAM将剩余数据从交换空间加载回RAM时,交换空间被禁用。运行更少的服务(即不运行clamav-daemon)可能可以避免这种情况,这就是为什么您当时看不到问题的原因。

https://bugzilla.redhat.com/show_bug.cgi?id=1031158解释了为什么在关机期间禁用交换空间。解决方案可能是确保在关机期间禁用交换空间之前,占用最多内存的事情已经停止。这可以通过在systemd单元中指定依赖项来解决,但是我还没有弄清楚。

当然,另一种解决方案是添加更多的RAM,这样就不用太多交换了。:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

重新启动时名称服务器更改

ODROID XU4上的Ubuntu 16.04服务器-关机/重新启动时挂起

在系统重新启动时重新启动我的 Web 服务器

如何在不重新启动服务器节点的情况下运行时部署同名的ignite服务?

在真空完全运行时重新启动 postgresql 服务器是否安全?或者杀死vacuumdb进程?

更改某些文件夹后,在监视模式下运行时,防止服务器自动重新启动

当我的服务器服务在 systemd 中重新启动时如何重新启动蓝牙服务

在应用程序启动时从代码调整/重新启动Postgresql服务器

每次重新启动时都启动 apache web 服务器 cloud-init

如何以特定用户身份在重新启动时启动Teampeak服务器

配置Unix apache Web服务器以在重新启动时自动启动?

全新Ubuntu 16.04安装会在重新启动时挂起(Acer Travelmate笔记本电脑上的i386服务器)

在Chrome中运行的Jupyter Notebook在服务器重新启动时被卡住

NodeJS 在运行时添加/删除/重新加载需要无需重新启动服务器(也没有 nodemon)

在Linux服务器关闭或重新启动时发送警报电子邮件

每次重新启动时NVIDIA X服务器设置都会丢失

每次重新启动时都失去与服务器的连接 (18.04 LTS)

服务器关闭或重新启动时,SignalR客户端不会调用重新连接事件

运行时错误:无法启动服务器

重新启动Tomcat服务器7时出错?

IntelliJ在更新资源时重新启动服务器

当应用程序服务器需要重新启动时,哪种文件类型会更改?

服务器崩溃,重新启动时发送消息(Node.js / Socket.io)

系统在关机/重新启动时挂起-停止UID 1000的用户管理器

Windows 10在重新启动时挂起/冻结

Lubuntu 18在关机或重新启动时冻结/挂起

服务器重新启动时如何使SOLR“启动”到云模式

SQL Server代理无法在服务器重新启动时自动启动

Mule Batch-如何在服务器重新启动时停止自动重新启动?