服务器超慢,内存和交换使用100%,ClamAV的问题?

今天早上我的Ubuntu 10.04服务器closures了。 当我重新启动它,我可以使用它几分钟,然后内存和交换得到充分,SSH不回答。 看来ClamAV是问题的一部分。 我怎么能阻止它? clamd停止不起作用。
更全球的是,我怎样才能停止所有的电子邮件服务?

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

运行的进程

更新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---- rb 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 

(把我对问题的评论转换成一个似乎行得通的答案 – 希望没关系。)

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

杀死进程可能是一个挑战(请参阅不可中断进程上的这个答案 ),因此您可能需要重新configuration系统而不使用clamscan,然后重新启动服务器。

几个意见和事情,你可以检查:

  • 我没有看到你发布的日志中有什么明显的错误。 是什么让你认为日志的最后一行是一个问题?
  • 一般来说,接近100%的RAM利用率实际上是一件好事。 然而,你不想要发生的事情是开始使用交换空间,这会很快地导致你的服务器性能下降,这可能是问题所在。 使用top命令并确保交换内存接近零。 free -m也可以用来查看你的内存是如何与vmstat一起使用的。
  • 同时检查您的CPU使用率与top 。 如果使用量或负载很高,可能是另一个原因。
  • 如果您正在进行DoS,您还可能拥有完全使用的networking连接(特别是在10 Mbps线路上)。 使用ifconfig或您的提供商的控制面板检查您的networking使用情况。
  • 如果您似乎无法实时解决问题,请尝试安装像sar这样的基本监视软件包来捕获您稍后可以提供的统计信息。

尝试启动服务器,然后立即login并运行top然后按M(实际上是一个大写M按内存使用情况进行sorting),并观察您的资源。 你应该看到你的交换在0字节使用和你的内存自由或者完全使用Linux有时可以使用或less,但主要观看消耗内存的进程的光的顶部。 如果应用程序发生内存泄漏,您应该可以看到内存开始增加的模式。 如果你看到它是什么,停止进程/服务,看看它如何持续30分钟后,如果它持续下去。

祝你好运

编辑:有问题的是,你的邮件日志将显示amavis无法find任何主要的扫描仪,最有可能倒退到辅助扫描,在你的情况是clamscan。 clamscan非常慢,为每个扫描的邮件或文件启动一个进程。 你需要的是clamd,并configurationamavisd使用它作为主扫描器。 如果您没有使用amavisd(虽然您应该),那么您使用procmail进行筛选,因为这似乎是以用户帐户运行的。 您需要修改您的设置,并可能configuration后缀连接到amavisd服务,以最好地处理扫描。

 # 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