有时似乎不可能build立到这个服务器的连接。 后来当一个连接可以build立,我不能看到任何提示是什么导致了这种行为。 当我已经连接到服务器,有时会发生我无法做任何事情,因为它不会作出反应(有时连接会失去一段时间,有时可以保留)。 似乎是在完全不能build立联系的时候。
为了连接ssh,错误信息是:
ssh: connect to host myhost port 22: Connection timed out
服务器在任何时候都不应该根据CPU /内存来繁忙。 我已经用MemTest86 +检查了内存,没有任何错误。
dmesg没有列出进一步的消息。
有没有人有线索,我可以检查/查找?
亲切的问候
我们在高负载条件下或者更令人惊讶的是,在大文件写入条件下看到了这种行为。 你已经排除了高负荷。 让我解释第二种情况。
这是一个真实的场景,最近发生在几天前:
假定大量的RAM,相对于磁盘写入速度(32 GB RAM,100 MB /秒)
应用程序会导致大约20 GB的快速写入,其中数据来自高速caching的源或生成的数据,以便将写入缓冲到20 GB的RAM中并写入后台。
在这个20 GB写的末尾有一个“fsync”。 应用程序会阻塞并等待200秒以完成写入操作。
现在的棘手的部分:
在这个200秒的fsync写入期间,您尝试login到SSH甚至(虚拟)控制台。
login过程尝试fsynclogin条目。
这个fsync被以前的fsync阻塞,等待200秒才能完成。
login过程中出现的消息超时。
整个机器是可以ping通的。 此外,不会发出“fsync”的东西一般工作正常。
请注意,这发生在我们的CentOS 5服务器上,我读过Theodore(Ted)Ts'o改进了较新的内核,更好地pipe理不相关的并发fsyncs。