为什么我的Java程序在Linux上跑得很慢?

新手上路,请多包涵

今天我在Linux上运行一份Java代码,效率出奇地慢,甚至跑不出结果。而这份代码我半年前在Linux上运行过是可以跑出结果的,而且速度很快。不清楚其中是什么发生了变化导致了这个问题。

一些线索:
我执行程序的命令是

nohup java -Xmx500000m -Xms500000m Main &

我执行了top命令,下图是显示的信息:

红框部分是我的执行的Java程序,其中,程序状态一直是S,不知道和这个问题是否有关?

我的Java程序是用较旧版本的JDK编译,然后用较新版本的JRE运行,不知道和这个问题是否有关?

请求各位大佬的帮助!

阅读 6.1k
2 个回答

建议使用工具查一下线程的堆栈信息,比如:jstack 或者 arthas。看看CPU都用在了哪些线程上。
我之前遇到过随机数会导致linux下的cpu 100%问题。

这机器有点厉害,一百多G内存

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题