在 SLES 11 SP2 32 位系统上,我看到一个奇怪的问题。就好像操作系统无法从文件的开头打开文件一样。
假设我有一个 200 行的文件。如果我cat
或more
或vi
该文件,系统就会挂起。这个过程甚至从未开始。我可以尾随同一个文件,但最多只能跟踪 100 行左右。
这些工作:
$ tail /path/to/file
$ tail -n 25 /path/to/file
这不起作用:
$ tail -n 100 /path/to/file
即使ls
对包含大量文件的目录执行命令也会失败。
有足够的磁盘空间。文件系统是读/写的。安fsck
确实做了一些修复,但问题仍然存在。
对发生的事情有什么想法吗?
更新:
我有一个大小为 3048 字节的文件。我可以用来tail -c
分块读取文件,但是一旦接近实际文件大小,它就会再次挂起。
这些工作:
$ tail -c 1000 /path/to/file
$ tail -c 2000 /path/to/file
这不起作用:
$ tail -c 2750 /path/to/file
答案1
事实证明,这是路由器上 MTU 设置的问题,影响了我们的集中日志记录。该过程无法启动,因为日志记录正在尝试将数据推送到日志记录服务器,而 MTU 不匹配阻止其建立连接。