我想寻求帮助,因为我感觉有点不明白。
我最近购买了一台低端专用机器,用于托管一些服务: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