【问题标题】:Java: Class -Xmx1g not found [duplicate]Java:找不到类-Xmx1g [重复]
【发布时间】:2016-07-24 05:16:30
【问题描述】:

我正在尝试在我的服务器上运行一个名为“YouTrack”的程序。它确实一直有效,但在服务器重新启动后,当我想启动 YouTrack 时收到一条错误消息。

找不到类 -Xmx1g。

我正在执行这个命令: java –Xmx1g –XX:MaxPermSize=500m –Djava.awt.headless=true –jar youtrack-6.5.16932.jar 8112

我的系统:

  • ubuntu 14.04
  • Plesk
  • java版本“1.7.0_79”

有人可以帮我吗? 提前致谢。

编辑: 更新到 java 版本“1.8.0_77”。还是不行。

【问题讨论】:

  • 我怀疑的其他事情。 1.它没有调用您认为的Java。 2. 存在本地化/字符集问题(例如,“-”不是破折号)。
  • @KevinO 这就是问题所在。我在不知不觉中从办公室复制了破折号。感谢您的帮助!

标签: java ubuntu-14.04 plesk youtrack


【解决方案1】:

Java 7 是否允许在大小上使用“g”修饰符?我认为这是 Java 8 附带的。

  • Java 7

http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html

-Xmxn 指定内存分配池的最大大小(以字节为单位)。此值必须是大于 2 MB 的 1024 的倍数。附加字母 k 或 K 表示千字节,或附加字母 m 或 M 表示兆字节。默认值是在运行时根据系统配置选择的。

  • Java 8

https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html

-Xmxsize 以字节为单位指定内存分配池的最大大小(以字节为单位)。此值必须是 1024 的倍数且大于 2 MB。附加字母 k 或 K 表示千字节,m 或 M 表示兆字节,g 或 G 表示千兆字节。默认值是在运行时根据系统配置选择的。对于服务器部署,-Xms 和 -Xmx 通常设置为相同的值。请参阅http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/index.html 的 Java SE HotSpot 虚拟机垃圾收集调优指南中的“人体工程学”部分。

【讨论】:

  • java –Xmx1024m ......也不行
  • 对于一个实验,去掉参数会发生什么?
  • 然后–XX:MaxPermSize=500m 抛出错误。即使我删除了每个选项,它也会抛出 Class youtrack-6.5.16932.jar not found。
  • which java 表示什么?您是在 shell 中尝试,还是在某种类型的脚本中尝试?
猜你喜欢
  • 2018-01-11
  • 2017-05-22
  • 2017-06-09
  • 2018-06-06
  • 2015-02-24
  • 2012-09-09
  • 2015-12-15
  • 2020-05-24
相关资源
最近更新 更多