本文共 648 字,大约阅读时间需要 2 分钟。
公司一直有台服务器cpu占用很高,分析出是恒生监控程序java占用很高,且三个java程序,仅其中一个很高,要恒生解决,一直未解决,导致每周重启,我司运维都要手动进行程序相关性设置,给运维带来麻烦。
为解决运维重复劳动,拟看看是否可以脚本实现,通过对网上资料查询可通过powershell进行程序相关性设置。参考链接如下:故编写了如下powershell脚本用于实现程序自动设置cpu高的java程序相关性设置。设置cpu运行个数.ps1脚本如下:
#获取java进程,且cpu高于40%的java进程,由于机器上有三个java,且路径都一致。$id=Get-Process | Where-Object {$.Name -eq "java"} | Where-Object {$.CPU -gt 40}#设置前4个CPU运行,可自由配置哪些cpu运行。ProcessorAffinity(设置相似性)
$id.ProcessorAffinity=15再建立一个callpowershell.bat,用于运行powershell脚本。
powershell 设置cpu运行个数.ps1最后,在延时启动工具上配置好callpowershell.bat延时2分钟启动。
经过以上步骤后,每周重启完毕服务器2分钟后,自动会对占用100%cpu的java进程指定cpu个数为4个。解决了运维过程中的重复劳动。
转载于:https://blog.51cto.com/lysweb/2387092