可以写一个脚本进行监控
可以用 ps top jstack 等命令来查看和监控进程。
参考1
参考2
我是海腾数据中心的技术小哥,很高兴为您解答问题。
GPU 能够被广泛的应用程序所使用,包括图形和视频渲染,然而其应用和需求的主力市场还是游戏和视频工作流(当挖矿和破解算力纯属意外)。
视频游戏对算力的要求很高,除了4K、高刷新率和虚拟现实游戏等先进的显示技术外,还有逼真的图形和庞大、复杂的游戏地图。这些新功能会增加图形处理的压力。 设备的 GPU 就非常重要了,因为它可以让游戏更高效地运行,同时满足对系统的额外需求。
导致 GPU 温度过高的主要因素
导致 GPU 过热的因素主要包括:
使用 GPU 的游戏和视频工作流负载
GPU 散热系统的质量
环境温度
机箱质量
GPU 的积灰
设备的新旧和使用程度
气流的交换
设备风扇的工作状态
其它瓶颈问题
正常 GPU 温度是多少

在正常使用条件下,最佳的 GPU 负载温度为 65 至 85℃。值得注意的是,GPU 的温度取决于制造商和型号。此外,即使有些 GPU 的额定温度更高,负载时的最佳温度也不应超过 85°C。
由于 GPU 厂商和型号不同,因此很难准确判定负载时的良好 GPU 温度范围,但通常会有一个安全的 GPU 工作温度范围:一般的经验法则是将温度保持在 85°C 以下,当然温度是能控制得越低越好。
GPU 温度高意味着什么

GPU 温度高但又在正常的工作温度范围内,这通常表明 GPU 正在「努力工作」;但如果遇到 GPU 温度一直持续(几小时甚至更长),意味着你可能开始遇到性能问题了。
使用硬件监控程序可以跟踪 GPU 温度峰值以及当它发生时在进行什么 *** 作,这有助于解决未来的 GPU 问题。 建议对计算机的性能进行定期测试,才能确保它能够正常处理你的任务。
GPU 温度过高怎么办,如何降低 GPU 温度
一旦你的 GPU 温度飙升,就需要有办法让它再次回到安全的工作范围:
1增加空气流动
将计算机放置在气流不受限制的位置。避免将你的台式机放在地毯上或柜子里;同样,你也不应该把笔记本电脑放在腿上,因为人体的热量和腿有可能会阻挡笔记本电脑的综合散热。也可以考虑增加其他散热机制,如笔记本散热支架或液冷系统。
如果你的 GPU 温度仍然很高,可以考虑扩展电脑的散热系统。例如,增加更多的机箱风扇或 AIO GPU 散热体系,这样可以在降低温度的同时,延长显卡的使用寿命。
2 清洁你的电脑和显卡
灰尘的累积是硬件最大的杀手之一,GPU 也不例外。建议使用压缩空气来清理无法触及的区域以及计算机的敏感芯片和处理器。
3 确保 GPU 风扇正常运转
如果风扇都不转,在任何负载下,GPU 的温度都会飙升。你可以测试下,如果风扇不转,就只开几个视频网页就会导致 GPU 温度大幅上升,这种情况可能还会对 GPU 造成不可修复的损害。
4降低室温
夏天 GPU 温度肯定比冬天高,这个世人都知道。如果你生活在气候较热的国家或地区(如国内的海南、云南),想办法降低室内环境的空气温度会有助于降低 GPU 温度。说人话就是:开风扇对着吹,开空调。
如何监控和查看 GPU 温度
游戏负载时,平均 GPU 温度应保持在 65°C 至 75°C 之间,并且不建议超过 85°C。为避免这种情况,需要监控和查看 GPU 的工作温度。

/
判断是存在指定名称的进程存在
@param taskName 进程名称
@return 如果存在,返回true;如果不存在,返回false。
/
private boolean existProcess(String taskName){
try {
Process process = RuntimegetRuntime()exec("cmd /c tasklist");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream stream = processgetInputStream();
byte[] b = new byte[256];
while (streamread(b) > 0) {
baoswrite(b);
String string = baostoString();
if(stringindexOf(taskName) >= 0){
return true;
}
}
} catch (IOException e) {
eprintStackTrace();
}
return false;
}
/
结束指定名称的进程
@param taskName 进程名称
/
private void killProcess(String taskName){
try {
Process process = RuntimegetRuntime()exec("cmd /c taskkill /f /im "+taskName+" /t");
} catch (IOException e) {
eprintStackTrace();
}
private void writeLogs(String taskName){
Process process = RuntimegetRuntime()exec("cmd /c "+"软件exe位置");
OutputStream os = processgetOutputStream(); //得到标准输出流
//根据这个输出流来写你的日志吧
}
}
以上就是关于在linux里面怎么监控一个java程序的运行全部的内容,包括:在linux里面怎么监控一个java程序的运行、电脑监控软件显示gpu温度过高、能不能用java编写一个计算机软件监控程序,监控某一个软件的输入输出,并将其存入指定的文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)