我们的服务器xxx.xxx.xxx.95是8核8G的配置,另外的服务器xxx.xxx.xxx.215是4核8G的配置, 这两个服务器运行同样的java服务,java的jvm配置完全一样,qps也是一样的。 但是95服务器的load值一直比215服务器高很多。
经过反复检查:
1)由于我们服务是在阿里云,刚开始我以为是宿主主机的问题, 和阿里云沟通后,迁移到其他宿主区里主机上。 启动java服务,导入流量,发现load值还是高,比215的load值高5倍。
2)通过top看到: 进程似乎只是使用某个cpu(相当于单核),图上看,一直以为是一直使用cpu0,然后查看进程的cpu亲和性,发现也没问题。
appuser@iZ25lwzc3tkZ:/home$ taskset -pc 2125 pid 2125's current affinity list: 0-7
3)通过反复思考,最后想到linux的内核。
8核的 95服务器是:系统为Ubuntu 12.04.5 LTS 内核是3.2.0-67-generic
4核的215服务器是: 系统为 Ubuntu 14.04.2 LTS 内核为3.13.0-65-generic
最后我们对 8核的95服务器进行系统升级,最后发现load立马正常:可以看到8个cpu均匀的被使用。
结论是:
这两个服务器的系统内核不一样,导致load计算不一样。