为什么我的Java程序在Linux上跑得很慢?
今天我在Linux上运行一份Java代码,效率出奇地慢,甚至跑不出结果。而这份代码我半年前在Linux上运行过是可以跑出结果的,而且速度很快。不清楚其中是什么发生了变化导致了这个问题。
一些线索:
我执行程序的命令是
nohup java -Xmx500000m -Xms500000m Main &
我执行了top
命令,下图是显示的信息:
红框部分是我的执行的Java程序,其中,程序状态一直是S,不知道和这个问题是否有关?
我的Java程序是用较旧版本的JDK编译,然后用较新版本的JRE运行,不知道和这个问题是否有关?
请求各位大佬的帮助!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
建议使用工具查一下线程的堆栈信息,比如:jstack 或者 arthas。看看CPU都用在了哪些线程上。
我之前遇到过随机数会导致linux下的cpu 100%问题。
这机器有点厉害,一百多G内存