服务器超级慢,RAM 和交换已使用 100%,ClamAV 有问题?

服务器超级慢,RAM 和交换已使用 100%,ClamAV 有问题?

我的 Ubuntu 10.04 服务器从今天早上开始就宕机了。当我重新启动它时,我可以使用几分钟,然后 RAM 和 Swap 就满了,SSH 无法响应。似乎 ClamAV 是问题的一部分。我该如何停止它?clamd stop 不起作用。
更全面地说,我该如何停止所有电子邮件服务?

更新:我认为不再需要日志文件。

正在运行的进程

更新2:

wpc2617:~# free -m
                total    used    free  shared    buffers     cached
Mem:           875     868       7       0          0         12
-/+ buffers/cache:     855      20
Swap:          976     867     108
wpc2617:~# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1 31 971132   8076    696  18988  311 1300  2915  1309  244  200  9  2 11 77

答案1

(将我对问题的评论转换成答案,因为它似乎有效 - 希望可以。)

尝试killall clamscan,然后停止启动这些进程的程序。S 列下的“D”表示进程处于“不可中断的睡眠”状态,这可能是由于各种原因造成的,但可能是由于内存和交换空间已完全填满(来自和topfree -m缓冲区/缓存”行)而导致的对/从交换页面的调换。

终止进程可能是一个挑战(见关于不间断进程的答案),因此您可能需要重新配置系统以不使用clamscan,然后重新启动服务器。

答案2

您可以检查以下一些评论和事项:

  • 我没有在您发布的日志中看到任何明显错误。是什么让您认为日志中的最后一行有问题?
  • 接近 100% 的 RAM 利用率通常是一件好事。但是,您不希望发生的是开始使用交换空间,这将很快降低服务器的性能,这可能是问题所在。使用命令top并确保交换内存接近于零。free -m也可用于查看内存的使用情况vmstat
  • 另外,使用 检查 CPU 使用率top。如果使用率或负载很高,则可能是其他原因。
  • 如果您遭受 DoS 攻击,您的网络连接也可能已完全使用(尤其是在 10 Mbps 线路上)。使用ifconfig或提供商的控制面板检查您的网络使用情况。
  • 如果您似乎无法实时发现问题,请尝试安装一个基本的监控包,以便sar捕获您稍后可以提供的统计数据。

答案3

尝试启动服务器,然后立即登录并运行,top然后按 M(实际上是大写的 M,按内存使用情况排序)并观察您的资源。您应该看到交换使用 0 字节,并且内存可用,要么完全使用,因为 Linux 有时可以使用,要么使用很少,但主要观察消耗内存的进程的顶部。如果应用程序有内存泄漏,您应该看到内存开始增加的模式。如果您看到它是什么,请停止进程/服务,并查看 30 分钟后的情况(如果持续)。

祝你好运

编辑:问题在于您的邮件日志将显示 amavis 找不到任何主扫描仪,并且很可能退回到辅助扫描,在您的情况下是 clamscan。clamscan 非常慢,并且会为它扫描的每个邮件或文件启动一个进程。您需要的是 clamd 并配置 amavisd 以将其用作主扫描仪。如果您没有使用 amavisd(尽管您应该使用),那么您正在使用 procmail 进行过滤,因为它似乎以用户帐户的身份运行。您需要修改您的设置,并可能配置 postfix 以连接到 amavisd 服务以最好地处理扫描。

答案4

# To free pagecache:
#         echo 1 > /proc/sys/vm/drop_caches
# To free dentries and inodes:
#         echo 2 > /proc/sys/vm/drop_caches
# To free pagecache, dentries and inodes:
#         echo 3 > /proc/sys/vm/drop_caches
sudo sync && sudo sysctl -w vm.drop_caches=3

相关内容