我只是在 16 核 CPU 上使用一个简单的独立 java 程序测试一些 JNI 调用。我正在使用 64 位 JVM 和操作系统是 Linux AS5。但是,一旦我使用 64 位 c++ 库启动我的测试程序,我就会看到“SIZE”列显示 16G。最上面的命令输出是这样的:
PID PSID 用户名 THR PRI NICE SIZE RES 状态 时间 CPU 命令 3505 31483 xxxxxxx 23 16 0 16G 215M睡眠 0:02 0.00% java
我知道我的堆没问题,但是 JNI 内存可以增加进程大小,但我很困惑为什么它以 16G - SIZE 开头,我认为这是虚拟内存大小?真的会占用这么多内存吗?我应该关心它吗?