我在两个服务器上使用相同文件运行以下命令,test.txt大小为270米。 服务器A仅运行9秒,服务器B运行大约1500秒。
sed -i "s/aaa/bbb/g" test.txt;
我已经通过下面的命令检查了linux版本和sed版本,除了服务器名称它们几乎相同。两台服务器都使用相同的硬件设置(3T内存,64内核)。
uname -a
Linux serverA 2.6.32-431.17.1.el6.x86_64 #1 SMP Fri Apr 11 17:27:00 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
uname --version
uname (GNU coreutils) 8.4
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.
sed --version
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.
GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-gnu-utils@gnu.org>.
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
有任何想法检查原因吗?非常感谢。
答案 0 :(得分:1)
有两件事可以解释这种行为。最可能的是,该文件位于每台计算机上具有不同性能的文件系统上。使用df
命令来了解所使用的文件系统:
df -kh <path to the directory where the file is>
对于快速的计算机,它很可能是本地文件系统,对于速度较慢的计算机,它可能是远程(网络)文件系统。或同时使用两个远程文件系统,但一个在快速网络上,另一个在较慢的网络上。
另一种可能性是,一台计算机正被其他进程大量使用,例如占用了所有RAM或所有CPU,而另一台则没有。您可以使用uptime
命令检查计算机的当前全局负载。
查找罪魁祸首的第一步是验证每次是否复制了该行为,然后从每台计算机的角度查询文件的实际物理位置。