我有一台旧电脑,我决定让它焕然一新。一个 LAMP(供我自己使用)和一个 P2P 服务器(torrent 和 e2dk)。
我的旧电脑是 AMD Athlon XP (1400 MHz),配有 384 Mb 内存
首先,我安装了 Ubuntu Server 11.10、SSH、FTP、SAMBA 和 LAMP。使用此配置,我的家庭服务器运行良好,没有任何问题。
然后我去了 P2P 服务器,尝试了 rTorrent,然后是 uTorrent Server Alpha。这就是我的问题。
几个小时后(可能 10 小时,也可能 30 小时)运行 torrent 应用程序(rTorrent 或 uTorrent)我失去了联系到我的家庭服务器。也就是说,我无法通过 ssh 访问,也无法访问 apache 服务器等。但我可以 ping家庭服务器。看来服务器冻结了,我所能做的就是物理重启服务器。
因此,我有两个问题:问题是什么?我该如何解决它?
答案1
RAM 耗尽是造成这种情况的常见原因,但与此相关的是,您还可能遇到 ulimit 问题(打开太多文件等)——Linux 中的每个连接通常都会产生一个线程,并且每个线程都会打开一个文件。
您有一个正在运行的 torrent 客户端,因此会打开很多连接。默认堆栈大小会耗尽您的 RAM。如果客户端很聪明,会降低默认值(大约是每个线程 8192 KB,具体取决于您的 Linux 版本)。
因此,可以尝试以下几件事:
- 提高允许打开文件数的 ulimit 设置(ulimit -n)
- 降低默认堆栈大小(ulimit -s)
- 尝试不使用 torrent 客户端来运行 - 这种情况还会发生吗?
答案2
我有一个完全不同的设置,但出现了同样的现象。计算机无法相互通信或与外界通信,或者有时可以以某种方式通信。我确信是某台计算机出了问题。原来是路由器需要固件升级。显然,坏的路由器会让它看起来像是一台计算机崩溃了。从那以后,它就一直没有问题了。尽管我怀疑这不是你的问题,但检查一下并确保你的路由器没问题还是值得的。