慕田峪4524236
2022-12-28 11:02:51
我想問一下,如果:-Xms1000M -Xmx1000MJava(Linux)的命令是否用于最大文件使用 RAM,是否有意見對磁盤空間做同樣的事情?在運行時設(shè)置最大文件大小的示例,與 RAM 相同,僅用于 HDD/SSD 空間。提前感謝大家。
1 回答

POPMUISE
TA貢獻(xiàn)1765條經(jīng)驗 獲得超5個贊
首先,-Xms1000M
不要-Xmx1000M
限制 JVM 對 RAM 的使用。他們設(shè)置了 Java 堆的初始大小和限制......其中包含常規(guī)對象。JVM 將 RAM 用于許多其他非常規(guī)對象的事物;例如堆棧、元空間、可執(zhí)行文件使用的空間和各種堆外分配等。這些不受-Xms
和限制-Xmx
。
回答您的實際問題:Java 不提供限制程序消耗的磁盤空間量的方法。
在 Linux/UNIX 上,您可以限制通過 shell 內(nèi)置命令寫入的文件的大小ulimit
。(控制這個的限制就是-s
限制。)但是,由于這是限制當(dāng)前shell及其子進(jìn)程的內(nèi)置命令,因此使用Process
運行bash -c ulimit
不會有效。該命令必須在啟動 JVM之前運行。
回答您可能一直想問的問題:Java 也沒有提供限制使用的總 RAM 的方法。但是你可以這樣做ulimit
; 看上面。
添加回答
舉報
0/150
提交
取消