不同内核版本Linux TOP工具的差异

1,652 Views
『作者:RickyZhu 转载务必注明出处和作者』
Tag:

我去年做性能测试,利用TOP命令取性能数据,偶尔会发生数据不准确或者错误的情况,之前一直以为是TOPbug,现在发现了问题的根本原因.

目前在我们测试的系统中,主流的server有两种, 8753003, 区别在于server的主板芯片. 两种server的操作系统都是Linux但是内核却差别很大,

[root@ME_14-101 root]# uname -a

Linux ME_14-101 2.4.24 #1 Sun Jun 27 10:50:24 CST 2004 i686 i686 i386 GNU/Linux

[root@ME_14-101 root]#

[root@ME_99_141 ~]# uname -a

Linux ME_99_141 2.6.13.2_MS3003 #1 Mon Nov 6 18:15:20 CST 2006 i686 athlon i386 GNU/Linux

[root@ME_99_141 ~]#

875的内核一般是: 2.4.24 默认的procps版本是procps-2.0.11-6

3003的内核一般是: 2.6.13.2 默认的procps版本是procps-3.2.5-6

[root@ME_14-101 root]# rpm -qa procps

procps-2.0.11-6

[root@ME_14-101 root]#

[root@ME_99_141 ~]# rpm -qa procps

procps-3.2.5-6

[root@ME_99_141 ~]#

TOP命令是其中的一个RPMprocps的一个组件, 著名的vmstat, ps等也是其中的组件.

但是在不同procps版本中提供的TOP命令的输出格式不同,我们之前因为要统筹考虑,统一处理,所以就用了高版本的TOP命令,在需要取性能数据的时候把这个版本的TOP命令上传到被测server,然后执行.

在高版本内核的server上这样是没有问题的,但是在低版本内核server上会有一些问题,导致一些无法解释的现象,比如内存或者CPU偶尔会超过100%的现象等等.

如果用低版本的TOP,在低版本内核server上正常的,但是在高版本内核的server,也会导致一些问题. 这个问题困扰了我们N.

综合以上所说,不同版本的TOP只能稳定运行于对应内核的server.


随机文章

沙发

(Required)
(Required, not published)


Close
E-mail It