我想问是否:
-Xms1000M -Xmx1000M
是否有用于Java(Linux)的命令来最大程度地利用RAM,是否有对磁盘空间做同样的想法?
示例用于设置运行文件时的最大文件大小,与RAM相同,仅用于HDD / SSD空间。
谢谢大家。
答案 0 :(得分:4)
首先,-Xms1000M
和-Xmx1000M
并未对JVM的RAM使用量设置限制。他们设置了堆大小的限制。 JVM将RAM用于不是常规堆内存的其他事物。例如堆栈,元空间,可执行文件使用的空间以及各种堆外分配。
要回答您的问题,Java没有提供一种方法来限制消耗的磁盘空间量。
在Linux / UNIX上,您可以限制通过shell内置命令ulimit
写入的文件的大小。 (控制此限制的是-s
限制。)但是,由于这是一个限制当前shell及其子进程的内置命令,因此不会使用Process
运行bash -c ulimit
有效。必须在 启动前运行该命令。