前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >查Windows开机耗时是否正常

查Windows开机耗时是否正常

原创
作者头像
Windows技术交流
修改2024-04-12 16:02:43
4250
修改2024-04-12 16:02:43
举报
文章被收录于专栏:Windows技术交流Windows技术交流

本文介绍通过powershell命令快速定位开机耗时是否正常(日志只是列出时间点,需要自己对比时间差,一般来说,开机耗时不会超过1分钟,那些明显超过的,我们可以结合如下命令判断主要卡在了哪个阶段)

正常开机过程如上图,Windows启动过程:os loader(winload.exe ntoskrnl.exe ) → 加载驱动 → smss.exe → autochk.exe → smss.exe → csrss.exe → smss.exe → wininit.exe → csrss.exe → winlogon.exe → services.exe → lsass.exe → svchost.exe → 登录就绪(LogonUI.exe、dwm.exe )

异常举例:smss.exe → autochk.exe → smss.exe → csrss.exe 这个过程中,从autochk.exe → smss.exe耗费了将近5分钟

#查开机耗时

代码语言:powershell
复制
Get-WinEvent -FilterHashtable @{logname='System';id=@(12,6005);StartTime=(Get-Date).AddDays(-1) } -EA 0| Where-Object {$_.ProviderName -eq "Microsoft-Windows-Kernel-General" -or $_.ProviderName -eq "User32" -or $_.ProviderName -eq "EventLog" } |Sort-Object -Property TimeCreated

#查开机各阶段耗时

代码语言:powershell
复制
Get-WinEvent -FilterHashtable @{logname='Security';id=@(4688);StartTime=(Get-Date).AddDays(-1) } -EA 0| Where-Object {$_.ProviderName -eq "Microsoft-Windows-Security-Auditing"} |Sort-Object -Property TimeCreated

以上2句命令还可以合并成一句

代码语言:powershell
复制
(Get-WinEvent -FilterHashtable @{logname='System';id=@(12,6005);StartTime=(Get-Date).AddDays(-1)} -EA 0| Where-Object {$_.ProviderName -eq "Microsoft-Windows-Kernel-General" -or $_.ProviderName -eq "User32" -or $_.ProviderName -eq "EventLog"}) + (Get-WinEvent -FilterHashtable @{logname='Security';id=@(4688);StartTime=(Get-Date).AddDays(-1)} -EA 0 | Where-Object {$_.ProviderName -eq "Microsoft-Windows-Security-Auditing"}) | Sort-Object -Property TimeCreated

像上图这种一直循环事件ID4688的,大概率是开启了ClearPageFileAtShutdown这个注册表导致在重启或关机阶段持续了很久,解决方案:

代码语言:javascript
复制
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management"  /v "ClearPageFileAtShutdown" /d 0 /t REG_DWORD /f

#查最近1天的开关机、重启记录

代码语言:javascript
复制
Get-WinEvent -FilterHashtable @{logname='System';id=@(12,13,6005,6006,6008,41,1074,7001);StartTime=(Get-Date).AddDays(-1) }  |Sort-Object -Property TimeCreated

#查最近1天登录相关的记录

代码语言:javascript
复制
Get-WinEvent -FilterHashtable @{logname='Application';id=@(1530,1531,1532);StartTime=(Get-Date).AddDays(-1)} -ErrorAction SilentlyContinue |Sort-Object -Property TimeCreated

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档