我想问一下,如果:-Xms1000M -Xmx1000MJava(Linux)的命令是否用于最大文件使用 RAM,是否有意见对磁盘空间做同样的事情?在运行时设置最大文件大小的示例,与 RAM 相同,仅用于 HDD/SSD 空间。提前感谢大家。
1 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
首先,-Xms1000M
不要-Xmx1000M
限制 JVM 对 RAM 的使用。他们设置了 Java 堆的初始大小和限制......其中包含常规对象。JVM 将 RAM 用于许多其他非常规对象的事物;例如堆栈、元空间、可执行文件使用的空间和各种堆外分配等。这些不受-Xms
和限制-Xmx
。
回答您的实际问题:Java 不提供限制程序消耗的磁盘空间量的方法。
在 Linux/UNIX 上,您可以限制通过 shell 内置命令写入的文件的大小ulimit
。(控制这个的限制就是-s
限制。)但是,由于这是限制当前shell及其子进程的内置命令,因此使用Process
运行bash -c ulimit
不会有效。该命令必须在启动 JVM之前运行。
回答您可能一直想问的问题:Java 也没有提供限制使用的总 RAM 的方法。但是你可以这样做ulimit
; 看上面。
添加回答
举报
0/150
提交
取消