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

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