gpt4 book ai didi

java - Linux 下 java 进程 CPU 使用率过高

转载 作者:太空宇宙 更新时间:2023-11-04 04:27:28 26 4
gpt4 key购买 nike

我在确定我的软件出了什么问题时遇到了麻烦。情况是;-该程序始终在后台运行,并且每 X 分钟执行一些操作。- 现在设置为每 1 分钟检查某个目录并查看其中是否有新文件。- 如果有新文件,它们将被处理并移动到其他地方。-如果没有,它只是记录事件并再次空闲。

我假设当新文件出现时,CPU 使用率可能会有点高。问题来了,即使我很多天没有在目录中放入新文件,CPU 使用率每分钟检查新条目也会上升到约 90%,然后几秒钟后,返回到 <1% 使用率。

Windows 下的相同进程似乎在某种程度上稳定,始终保持较低的 CPU 使用率。

如果我每月监控 CPU Activity ,我可以看到 java 进程的平均 CPU 使用率不断增长(无需放置新文件来“激活”进程的其余部分),并且我必须重新启动该进程才能使其返回到较低的 CPU 使用率水平。

我真的不明白这种行为,所以我真的不知道什么可能会影响这种行为。

如果日志文件有点“大”,比如 10-20mb,是否需要那么多 cpu 每分钟记录一个新条目?

如果该进程的类路径中加载了许多库,那么即使其中许多库不会一直被使用,CPU 使用率是否会增加?

抱歉,如果我的问题不太清楚,我对此有点陌生。

提前感谢大家,问候。

--编辑--我注意到你的建议,我会做一些监控,我会发布一些代码/结果与你分享,看看你能想出什么!

我现在真的迷失了!

最佳答案

我的自定义监控代码导致了问题,您始终可以使用像 Apache Commons IO 的 FileAlterationMonitor 这样的标准。它实现起来很简单,而且可能比修复当前代码更快。

关于java - Linux 下 java 进程 CPU 使用率过高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7432841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com