我一直在搜寻互联网上关于Java进程在Linux(Red-hat)机器上可以占用多少内存的信息。(我不是在谈论堆,而是指整个Java进程占用的总内存量)。
我没有权限在那台机器上执行任何程序。因此,我不能简单地执行一个消耗内存的程序直到发生Out-Of-Memory条件。
然而,我有权限检查配置文件等。(例如:我尝试执行cat /proc/meminfo,但我无法理解它;似乎没有任何结果代表我想了解的参数)。
我在另一台我有权限执行程序的Red Hat机器上尝试了一个Java程序,并成功看到该程序增长到3GB左右。
是否有办法找出一个进程可以获得多少内存?
ulimit
命令是内置于/bin/sh
和/bin/bash
shell 中的。如果您直接生成进程(而不使用 shell),则该命令不存在。 - Rob Raisch