修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control中的SvcHostSplitThresholdInKB对应值
此处默认值是3800000(0x39FBC0),值以KB为单位。
将其改为比当前安装内存大的值,然后重启,即可实现和以前版本Windows相同的svchost启动方式,536870912=512GB
3670016(3.5 GB): 1048576,1 GB; 1835008(1.75 GB); 7864320(7.5 GB); 12058624(11.5 GB); 16252928(15.5 GB); 24641536(23.5 GB);
16777215=16GB 67108864=64G
命令行执行:
reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v "SvcHostSplitThresholdInKB" /t REG_DWORD /d 67108864 /f
这就是为什么有些系统安装在小内存的虚拟机中 会显示进程少的原因
打开进程浏览器(Process Explorer)就可以发现,所有的 svchost.exe进程的父进程都是Services.exe
Windows 操作系统将大部分的服务封装在了一个个 DLL 动态链接库中,想要启动哪个服务,就把服务所需的 dll(任务卷轴) 交给 svchost.exe,让 svchost 统一去加载启动就可以——这就是我们在查看进程时,会发现密密麻麻一大堆 svchost.exe 进程的原因。
当系统启动,一堆svchost进程簇拥进来,怎么知道哪个svchost进程该干什么活呢?答案就在“注册表”中与 svchost.exe 相关的两个注册表:
一个注册表记录服务组的包含关系(层级关系)
# 服务组
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost
另一个注册表记录具体服务的细节信息(具体要什么)
# 服务
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service
系统启动后, svchost.exe 首先根据注册表里的键值(记录的内容)来管理 DLL (相当于工作任务)的加载,这里的每一个键值同时也对应着一个 svchost.exe 进程(哪个几个活儿由谁来干)。
同组服务共用一个 svchost.exe 进程(注意这里的服务组不会一次性全部加载,而是根据需要来加载)
当加载组中具体的某个服务时,svchost.exe 则会根据 Service注册表项中对应的服务项读取服务的详细信息。
此处默认值是3800000(0x39FBC0),值以KB为单位。
将其改为比当前安装内存大的值,然后重启,即可实现和以前版本Windows相同的svchost启动方式,536870912=512GB
3670016(3.5 GB): 1048576,1 GB; 1835008(1.75 GB); 7864320(7.5 GB); 12058624(11.5 GB); 16252928(15.5 GB); 24641536(23.5 GB);
16777215=16GB 67108864=64G
命令行执行:
reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v "SvcHostSplitThresholdInKB" /t REG_DWORD /d 67108864 /f
这就是为什么有些系统安装在小内存的虚拟机中 会显示进程少的原因
打开进程浏览器(Process Explorer)就可以发现,所有的 svchost.exe进程的父进程都是Services.exe
Windows 操作系统将大部分的服务封装在了一个个 DLL 动态链接库中,想要启动哪个服务,就把服务所需的 dll(任务卷轴) 交给 svchost.exe,让 svchost 统一去加载启动就可以——这就是我们在查看进程时,会发现密密麻麻一大堆 svchost.exe 进程的原因。
当系统启动,一堆svchost进程簇拥进来,怎么知道哪个svchost进程该干什么活呢?答案就在“注册表”中与 svchost.exe 相关的两个注册表:
一个注册表记录服务组的包含关系(层级关系)
# 服务组
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost
另一个注册表记录具体服务的细节信息(具体要什么)
# 服务
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service
系统启动后, svchost.exe 首先根据注册表里的键值(记录的内容)来管理 DLL (相当于工作任务)的加载,这里的每一个键值同时也对应着一个 svchost.exe 进程(哪个几个活儿由谁来干)。
同组服务共用一个 svchost.exe 进程(注意这里的服务组不会一次性全部加载,而是根据需要来加载)
当加载组中具体的某个服务时,svchost.exe 则会根据 Service注册表项中对应的服务项读取服务的详细信息。
文章来源:
网络小编D
版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站立刻删除。
