1.破解版win10cpu线程怎么调
开始,运行,输入regedit回车或者点击确定
win10系统cpu占用过高的四种解决办法
2
打开注册表编辑器,展开以下位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TimeBroker
win10系统cpu占用过高的四种解决办法
3
在TimeBroker下面找到start,将其值从3改为4
win10系统cpu占用过高的四种解决办法
END
方法/步骤2
1
打开系统设置—更新和安全—Windows更新—高级选项—选择如何提供更新,将“更新来自多个位置”关闭即可。
win10系统cpu占用过高的四种解决办法
END
方法/步骤3
1
如果你使用的是Win10家庭版系统,并且启用了Windows聚焦(Spotlight)功能,可能是该功能的后台服务导致CPU占用超高。
打开系统设置—个性化—锁屏界面,选择其他背景模式。
win10系统cpu占用过高的四种解决办法
END
方法/步骤4
Windows提示功能也可能会导致CPU占用居高,该功能会根据用户的操作习惯推送一些有关系统功能特性的通知,如果你已经非常熟悉Win10,可以将其关闭。打开系统设置—系统—通知和操作,关闭“显示有关Windows的提示”。
win10系统cpu占用过高的四种解决办法
2.Win10系统如何用Robocopy多线程功能加快文件复制?
如果你要将Win10中的大量文件和文件夹复制到另一个驱动器,可以仿照如下步骤来实现 Robocopy 多线程功能以达到超快的数据复制速度: 1、以管理员权限打开「命令提示符」 2、执行类似如下命令进行多线程复制:Robocopy C:\source\folder\path\ D:\destination\folder\path\ /S /ZB /R:5 /W:5 /V /MT:32例如:Robocopy D:\Pictures\桌面主题 E:\桌面主题 /S /ZB /R:5 /W:5 /V /MT:32注意:请自行将源路径和目标路径替换成你自己的。
Robocopy命令行用法解释:Robocopy 的功能非常强大,因此其命令行开关也非常之多,下面我们只列出能够可靠、快速复制文件的常用开关。/S 复制子目录,但不复制空的子目录。
/E 复制子目录,包括空的子目录。/Z 在可重新启动模式下复制文件。
/ZB 使用可重新启动模式;如果拒绝访问,请使用备份模式。/R:5 失败副本的重试次数: 默认为 1 百万。
/W:5 两次重试间的等待时间: 默认为 30 秒。/TBD 等待定义共享名称(重试错误 67)。
/NP 无进度 不显示已复制的百分比。 /V 生成详细输出,同时显示跳过的文件。
/MT:32 使用 n 个线程进行多线程复制(默认值为 8)。必须至少为 1,但不得大于 128。
上述命令中最为重要的开关就是 /MT,它让 Robocopy 能够以多线程模式进行复制传输。如果你没为 /MT设置数字,那么默认数字是 8,这意味着Robocopy将会同时复制 8 个文件。
推荐使用 32 个线程,虽然可开的线程可以更多,但数字越大,所使用的系统资源和带宽就越多。
3.windows 怎样在调度线程到多核
法。
1 引言 本文分析了Windows 系统的进程调度机制,并设计了一种基于Windows 操作系统内核驱动的多核CPU 线程管理方法,实现了一个基于Windows 内核驱动的线程管理服务系统,它能让用户根据每一个任务线程对CPU 资源的需要程度和对实时性的要求,在多核CPU上合理为线程分配CPU 核。Windows 内核调度结构体关系图 图1 Windows 内核调度结构体关系图 2 Windows 系统的进程调度方法分析 Windows NT 中的每一个进程都是EPROCESS 结构体。
此结构体中除了进程的属性之外还引用了其它一些与实现进程紧密相关的结构体。例如,每个进程都有一个或几个线程,线程在系统中就是ETHREAD 结构体。
简要描述一下存在于这个结构体中的主要的信息,这些信息都是由对内核函数的研究而得知的。首先,结构体中有KPROCESS 结构体,这个结构体中又有指向这些进程的内核线程(KTHREAD)链表的指针(分配地址空间),基优先级,在内核模式或是用户模式执行进程的线程的时间,处理器affini ty(掩码,定义了哪个处理器能执行进程的线程),时间片值。
在ETHREAD 结构体中还存在着这样的信息:进程ID、父进程ID、进程映象名。 在E P R O C E S S 结构体中还有指向P E B 的指针。
ETHREAD 结构体还包含有创建时间和退出时间、进程ID 和指向EPROCESS 的指针,启动地址,I/O 请求链表和KTHREAD 结构体。在KTHREAD 中包含有以下信息:内核模式和用户模式线程的创建时间,指向内核堆栈基址和顶点的指针、指向服务表的指针、基优先级与当前优先级、指向APC 的指针和指向T E B 的指针。
KTHREAD 中包含有许多其它的数据,通过观察这些数据可以分析出KTHREAD 的结构。图1 描述了这些结构体之间的关系。
通过遍历KPROCESS 结构体中的ETHREAD,找到系统中当前所有的KTHREAD 结构,这个结构中的偏移量为0x124 处的Affinity 域(Windows XP sp3)即为设置CPU 亲缘性掩码的内存地址。在此重点解释CPU 亲缘性的概念,CPU 亲缘性就是指在系统中能够将一个或多个进程或线程绑定到一个或多个处理器上运行,这是期待已久的特性。
也就是说:“ 在1号处理器上一直运行该程序”或者是“在所有的处理器上运行这些程序,而不是在0 号处理器上运行”。然后, 调度器将遵循该规则,程序仅仅运行在允许的处理器上。
在Windows 操作系统上,给程序员设定CPU 亲缘性的接口是用一个32 位的双字型数表示的, 它被称为亲缘性掩码(Affinity bitMask)。亲缘性掩码是一系列的二进制位,每一位代表一个CPU 单元是否可执行当前任务。
例如一个在具有四个CPU 的PC 机上( 或四核CPU) ,亲缘性掩码的形式的二进制数如下式所示: 其中自右向左,每一位代表0 到31 号CPU是否可用,由于本机只有四个CPU, 所以只有前四个位可用,X 为1则代表当前任务可执行在此位代表的CPU 上,X 为0 则代表当前任务不可执行在此位代表的CPU 上, 例如: 代表当前任务只能执行在1 号 CPU 上(CPU 下标记数从0 开始),又如0x00000004 代表当前任务只能执行在2 号CPU 上,0x00000003 代表当前任务可以运行在0号和1 号CPU 上。 Windows 的进程调度代码是在它的System 进程下的,所以它不属于任何用户进程上下文。
调度代码在适当的时机会切换进程上下文,这里的切换进程上下文是指进程环境的切换, 包括内存中的可执行程序, 提供程序运行的各种资源.进程拥有虚拟的地址空间,可执行代码, 数据, 对象句柄集, 环境变量, 基础优先级, 以及最大最小工作集等的切换。而Windows 最小的调度单位是线程, 只有线程才是真正的执行体,进程只是线程的容器。
Windows 的调度程序在时间片到期,或有切换线程指令执行(如Sleep,KeWaitForSingleObject 等函数)时, 将会从进程线程队列中找到下一个要调度的线程执行体,并装入到KPCR(Kernel ' s Processor Contr ol Re g i o n , 内核进程控制区域) 结构中,CPU 根据KPCR 结构中的KPRCB 结构执行线程执行体代码。而在多核CPU 下,当Windows 调度代码执行时,从当前要调度执行的KTHREAD 结构中取出Affinity,并与当前PC 机上的硬件配置数据中的CPU 掩码作与操作,结果写入到指定的CPU,例如双核CPU 的设备掩码为0x03,如果当前KTHREAD 里的Affinity 为0x01,那么0x01&0x03=0x01,这样执行体线程会被装入CPU1的KPRCB 结构中得以执行,调度程序不会把这个线程交给CPU2 去执行。
此过程如图2 所示。这就是为线程选择指定CPU 核的原理。
Windows 内核亲缘性调度原理图 图 2 Windows 内核亲缘性调度原理图。 那么控制线程在指定CPU 上运行的突破口就是修改Windows 内核结构体KTHREAD 下的Affinity 域。
然而Windows 内核结构被放在虚拟内存线性地址的高2G(不同版本Windows 下也可能是1G)地址空间,用户模式下的应用程序是无法访问这段内存空间的,所以必须编写Windows 驱动程序,来访问Windows 内核内存空间, 这也是本文将要。
转载请注明出处windows之家 » win10多线程设置