Java写的Console程序,运行一段时间以后自动暂停。什么原因呢?

时间:2022-06-27 05:28:48
症状描述:
1)运行一段时间以后,自动暂停。期间没有任何的交互,也不需要交互。
2)CPU开销为0. 内存开销130兆。我设定的xmx为800m,所以内存不是问题。
3)如果我在“假死”的命令行窗口里随便敲击某个键(例如空格或者回车),则程序再次活跃,CPU使用又变成正常的---5%左右。
4)补充说明,我的程序运行期间,不断地在打印一些运行时的日志信息。

请大家帮忙看看。这回是什么原因呢?应该不是线程死锁--因为我只开了一个线程。

9 个解决方案

#1


你是不是不小心用鼠标点了console?

#2


没点。我知道你说的意思,点一下暂停。可是我没点。

#3


有过类似的情况
说说我的
我的CMD是设置了快速编辑模式的,所以鼠标一点,程序就暂停了,然后敲回车,退出编辑状态,程序就能继续运行了。
如果你和我一样,
就把快速编辑模式去掉,进CMD的"属性","选项"选项卡上的"快速编辑模式"前面的勾去掉,然后重新开程序看看

#4


To o2cola:
  我之前确实是“快速编辑模式”的。按照你的建议,我去掉了。现在更惨,连空格都没响应了。

#5


........人品了。。。
回车有用么?另外还会‘假死’?

#6


在IDE中运行也是这样吗?
如果不是,那就是cmd的缓存区的问题。

#7


有可能是cmd缓存区的问题

#8


首先用以下方法排除一下是不是楼上几位所说的:

如果cmd的标题栏叫"myApp",那么如果不小心点了console,标题栏会变成"Select myApp".
这样就可以看出是否锁住了console.

如果不是的话,贴点相关代码吧,是不是某个地方的代码调用了System.in.read之类的?

#9


谢谢各位。应该是等待网络I/O的原因

#1


你是不是不小心用鼠标点了console?

#2


没点。我知道你说的意思,点一下暂停。可是我没点。

#3


有过类似的情况
说说我的
我的CMD是设置了快速编辑模式的,所以鼠标一点,程序就暂停了,然后敲回车,退出编辑状态,程序就能继续运行了。
如果你和我一样,
就把快速编辑模式去掉,进CMD的"属性","选项"选项卡上的"快速编辑模式"前面的勾去掉,然后重新开程序看看

#4


To o2cola:
  我之前确实是“快速编辑模式”的。按照你的建议,我去掉了。现在更惨,连空格都没响应了。

#5


........人品了。。。
回车有用么?另外还会‘假死’?

#6


在IDE中运行也是这样吗?
如果不是,那就是cmd的缓存区的问题。

#7


有可能是cmd缓存区的问题

#8


首先用以下方法排除一下是不是楼上几位所说的:

如果cmd的标题栏叫"myApp",那么如果不小心点了console,标题栏会变成"Select myApp".
这样就可以看出是否锁住了console.

如果不是的话,贴点相关代码吧,是不是某个地方的代码调用了System.in.read之类的?

#9


谢谢各位。应该是等待网络I/O的原因