现在的 CPU 超线程 是不是该关闭?
本帖最后由 aqbssh 于 2018-12-16 16:56 编辑我前几天做了个测试,用同样的config 文件,编译一个内核,为了缩小硬盘 io 的影响, 用mount -v -t tmpfs -o size=11G,mode=1777 tmpfs /root/tmp挂载了一个目录,第一次是用 time make -j8 ;第二次关闭了超线程,用 time make -j4,,两次用的时间只差1、2秒钟。请问这个超线程有什么用?只为了看起来核心数多一点吗?如果关闭超线程,是不是对单线程的操作更快一点?
超线程对于debian实际上是差别不大的,GCC编译的代码,对于超线程是无视的,超线程只是对于当年垃圾的win2000和Xp有价值。 我建议你们加入python fire项目,这样,可以建立一个汉语和linux内核操控的桥梁。 这个事网上有比较详细的测试报告,CPU在运算方面对于liunx开启HT意义不大,但是在文件读写和IO方面,确实能提升很高的性能,这个原因主要是IO是一个中断,并发确实可以提高性能。 为测量 Linux 内核性能,使用了 5 个基准测试程序:LMbench、AIM Benchmark Suite IX(AIM9)、chat、dbench 和 tbench。LMbench 基准测试程序对各种 Linux 应用程序编程接口(API)(例如,基本系统调用、上下文切换延迟和内存带宽)进行计时。AIM9 基准测试程序提供对用户应用程序工作负载的测量。chat 基准测试程序是模仿聊天室的客户机/服务器工作负载。dbench 基准测试程序是文件服务器工作负载,tbench 是 TCP 工作负载。chat、dbench 和 tbench 是多线程基准测试程序,而其它的则是单线程基准测试程序。 表 1. 超线程对 Linux API 的影响
内核函数 2419s-noht 2419s-ht 加速
简单的 syscall 1.10 1.10 0%
简单的 read 1.49 1.49 0%
简单的 write 1.40 1.40 0%
简单的 stat 5.12 5.14 0%
简单的 fstat 1.50 1.50 0%
简单的 open/close 7.38 7.38 0%
对 10 个 fd 的选择 5.41 5.41 0%
对 10 个 tcp fd 的选择 5.69 5.70 0%
信号处理程序安装 1.56 1.55 0%
信号处理程序开销 4.29 4.27 0%
管道延迟 11.16 11.31 -1%
进程 fork+exit 190.75 198.84 -4%
进程 fork+execve 581.55 617.11 -6%
进程 fork+/bin/sh -c 3051.28 3118.08 -2% 回复 6# rawa9999
谢谢你热心解答!感觉这几年论坛不那么热闹了,大家都在追求什么去了?我本人感觉 ,现在的智能手机是一个很严重的社会问题了。
页:
[1]