挤压服务器在高 CPU / 磁盘 / 网络负载下冻结

挤压服务器在高 CPU / 磁盘 / 网络负载下冻结

我想寻求帮助,因为我感觉有点不明白。

我最近购买了一台低端专用机器,用于托管一些服务:squid、proftpd 和 rtorrent。

我安装了 debian lenny,并立即更新到 squeeze 并配置了服务。我启动了 rtorrent,但在机器达到重负载(> 10MBps 网络流量,CPU 达到最大负载)后,它会持续一段时间,然后所有网络连接都会断开,我必须下令进行硬重置才能使其重新上线。

我以为这是一个配置错误的问题,所以我尝试重新配置服务器并在其上安装 ubuntu 10.04,但得到的结果相同。

我查看了 /var/log/kernel.log,在 ubuntu 上,我在机器崩溃之前看到了一些“Clocksource tsc stable”消息。

我在 squeeze 上也看到同样的消息,只是不像在 ubuntu 上那样接近重启时间。Google 告诉我,这可能与 CPU 频率缩放有关。像我一样遇到随机死机的用户报告了大量此类问题。但似乎没有明确的答案:人们通过更新显卡驱动程序、更换损坏的硬件、更改频率缩放调节器等方式解决了该问题。

到目前为止,我只尝试了频率缩放调节器,将其设置为“性能”似乎比默认的“按需”更快地冻结机器。

以下是该机器的 CPU 规格:

# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 39
model name      : AMD Athlon(tm) 64 Processor 3700+
stepping        : 1
cpu MHz         : 2200.000
cache size      : 1024 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt
lm 3dnowext 3dnow up pni lahf_lm
bogomips        : 4398.97
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative userspace powersave ondemand performance

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
1000000 1800000 2000000 2200000

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
acpi_pm

我要求数据中心支持人员执行硬件检查,他们对机器进行了 8 小时的测试,没有任何错误。

现在。我如何才能知道这台服务器出了什么问题?我很确定是硬件故障,但我没有证据可以向数据中心支持人员出示。

我目前正在运行 squeeze 2.6.32-5-686-bigmem。该机器有 1024MB 内存和 2x160Gb Sata 硬盘。网卡是 100MBit realtek 网卡,带有来自 firmware-realtek debian 软件包的正确驱动程序。

我很想听听你们对于如何处理这个问题的一些意见。

答案1

您应该收集一些统计数据,可能使用 Cacti 或 Nagios w/PNP4Nagios 或 NagiosGrapher。可能是服务器上的负载太高,以至于无法响应。此行为不是由内核或环境问题引起的,因为负载过大本身就是一个问题。也许您应该找到适当的资源使用限制。

答案2

您是否尝试过限制 rtorrent 使用的资源?

我遇到了类似的问题,并且能够通过限制 rtorrent 使用的内存量来缓解我的问题。

在 rtorrent 配置中,参数是 max_memory_usage,以字节为单位。

例如,我将我的设置为:

max_memory_usage = 268435456

相关内容