参考https://cloud.tencent.com/developer/article/2427091 这里只是标个出处,可以跳过
1、系统内部,开始按钮右键正常重启2遍
2、提权
执行1.forbid_taskschd.ps1
执行3.clear-history.ps1
3、ipconfig /release(这句是释放IP的,自然会断网,所以整个过程都是建议vnc操作,ipconfig /release如果你加到上步的3.clear-history.ps1结尾,那就跳过这步)
4、clear-history
5、开始按钮右键正常关机后做镜像
做镜像时如果弹窗让点某个按钮就点一下,如果不弹窗则正常提交后耐心等待即可
(重启2次后,日志里过滤eventid 1074有3个hostname,第3次显示的hostname就是做镜像的那个机器的内网IP下划线形式)
EventID 1074是自己指定eventid过滤的,无所谓,核实日志的工具很多,这里不是要求核实细节,是要求正常重启2遍即可
如果要学习fulleventlogview分析日志,可参考这个文档https://cloud.tencent.com/developer/article/1866711
2次重启的好处:
①hostname生效
②文件系统在重启时有个规整的过程,2次最佳
③开机耗时能稳定在20秒左右(环境比较轻量的话,能稳定在20秒内)
最后一步的关机
①建议(开始→ 右键→ 关机或注销→ 关机)
②不建议(开始→ 左键→ 电源→ 关机)
③并不禁止使用shutdown -s -t 0,但没有方式①优雅
以上为了杜绝这种日志:
已预热的镜像不要在账号间共享使用,有账号限制,A账号已预热镜像共享给B账号使用没有预热效果,切记!!!
一般是不建议预热的镜像共享给其他人使用的,最好是各人在各自账号用共享镜像买了机器后在各自账号重新做自定义镜像在自己账号预热,用自己的镜像
参考https://cloud.tencent.com/developer/article/2377644 这里只是标个出处,可以跳过
此步骤非常关键
重启后执行powershell检查事件ID 12和6005的时间差,纯净版系统一般会稳定在15秒以内,带环境的一般会稳定在30秒以内,一般不超过35秒
#ps1
$event12 =Get-WinEvent -FilterHashtable @{logname='System';id=@(12);StartTime=(Get-Date).AddDays(-10) } -EA 0 | Where-Object {$_.ProviderName -eq "Microsoft-Windows-Kernel-General" -or $_.ProviderName -eq "User32" -or $_.ProviderName -eq "EventLog" } | Sort-Object -Property TimeCreated -Descending:$true|Select-Object -First 1
$event6005 =Get-WinEvent -FilterHashtable @{logname='System';id=@(6005);StartTime=(Get-Date).AddDays(-10) } -EA 0 | Where-Object {$_.ProviderName -eq "Microsoft-Windows-Kernel-General" -or $_.ProviderName -eq "User32" -or $_.ProviderName -eq "EventLog" } | Sort-Object -Property TimeCreated -Descending:$true|Select-Object -First 1
$event12
$event6005
($event6005.TimeCreated - $event12.TimeCreated).TotalSeconds
请注意:即便开机耗时稳定在35秒内,如果镜像没预热过,影响很大,渲染性能差好几倍,确保每次新购或重装前,一定是自己账号预热已经完成的,没有预热不行、预热进行中也不行、别的账号共享的已预热的也不行,必须是当前使用镜像的账号自己完成预热才行(取消预热按钮变亮时,意味着预热已经完成,刚提交预热就立马用是万万不行的,会有性能问题)
关机做镜像前,最好释放下IP,可以手动执行ipconfig /release命令释放ip,也可以通过组策略配置关机脚本释放(可靠性不如手工释放),可参考
https://cloud.tencent.com/developer/article/2323290 这里只是标个出处,可以跳过
以上关键步骤(不包含组策略配置关机脚本释放IP),我封装成脚本并录屏了,建议操作之前先看6分钟录屏和封装资料里的readme
6分钟简短录屏:http://windows-1251783334.cos.ap-shanghai.myqcloud.com/20240109_155334.mp4
11分钟详细录屏:http://cloud.tencent.com/developer/video/80424
主要步骤:检查驱动是否过低,是的话安装驱动,如果驱动没事,则提权→ 禁用(执行1.forbid_taskschd.ps1)→ 清理(执行3.clear-history.ps1)→ 释放IP→ 系统内部正常关机做镜像→ 预热→ 等预热完成后购买测试
下面几张截图示例是解压到C盘根目录的
做镜像过程中,涉及网络部分断网就是要在vnc操作
做镜像过程中,涉及网络部分断网就是要在vnc操作
做镜像过程中,涉及网络部分断网就是要在vnc操作
ipconfig /release
clear-history
声明:
自定义镜像要不要优化,完全看跟业务的匹配情况,如果微软原版默认设置跟业务高度适用,不优化也可以,上述优化方法或思路在几十家渲染客户跑几年了也没多大问题,可作为最佳实践参考,客户也可以参考自己的思路优化镜像。
另外,机器算力和渲染效果是两回事,渲染环境对渲染效果的影响有时候是非常大的,比如
https://cloud.tencent.com/developer/article/2423042这篇文档中提到的vraybench跑分情况,在安装vc++2022的环境和vc++2015的环境,vray跑分是有非常大的差距的。
有时候也可能是渲染环境跟渲染项目本身匹配得不够好导致结果不符合预期,最简单的就是对比法,如果公共镜像用CPU压测软件压算力没问题,用自定义镜像跑渲染就是慢,大概率是渲染环境跟渲染项目之间有什么问题,云平台尽可能保证机器算力,业务问题我们并不比客户自己擅长。
后记:为啥文档如此繁琐,主要是基础较差或眼高手低的人太多。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。