sed在两台服务器上的工作方式完全不同

时间:2015-04-07 12:48:24

标签: bash sed

我在两个服务器上使用相同文件运行以下命令,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.

有任何想法检查原因吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

有两件事可以解释这种行为。最可能的是,该文件位于每台计算机上具有不同性能的文件系统上。使用df命令来了解所使用的文件系统:

df -kh <path to the directory where the file is>

对于快速的计算机,它很可能是本地文件系统,对于速度较慢的计算机,它可能是远程(网络)文件系统。或同时使用两个远程文件系统,但一个在快速网络上,另一个在较慢的网络上。

另一种可能性是,一台计算机正被其他进程大量使用,例如占用了所有RAM或所有CPU,而另一台则没有。您可以使用uptime命令检查计算机的当前全局负载。

查找罪魁祸首的第一步是验证每次是否复制了该行为,然后从每台计算机的角度查询文件的实际物理位置。